Як обчислити описову статистику в r (з прикладом)


Описова статистика – це значення, які описують набір даних.

Вони допомагають нам зрозуміти, де знаходиться центр набору даних, а також розподіл значень у наборі даних.

Є дві функції, які ми можемо використовувати для обчислення описової статистики в R:

Спосіб 1. Використовуйте функцію summary().

 summary(my_data)

Функція summary() обчислює такі значення для кожної змінної у кадрі даних у R:

  • Мінімум
  • 1-й квартиль
  • Медіана
  • Середній
  • 3-й квартиль
  • Максимум

Спосіб 2: використовуйте функцію sapply().

 sapply(my_data, sd, na. rm = TRUE )

Функцію sapply() можна використовувати для обчислення описової статистики, відмінної від тієї, що обчислюється функцією summary() для кожної змінної у кадрі даних.

Наприклад, наведена вище функція sapply() обчислює стандартне відхилення кожної змінної у кадрі даних.

У наступному прикладі показано, як використовувати ці дві функції для обчислення описової статистики для змінних у кадрі даних у R.

Приклад: обчислення описової статистики в R

Припустимо, у R є наступний кадр даних, який містить три змінні:

 #create data frame
df <- data. frame (x=c(1, 4, 4, 5, 6, 7, 10, 12),
                 y=c(2, 2, 3, 3, 4, 5, 11, 11),
                 z=c(8, 9, 9, 9, 10, 13, 15, 17))

#view data frame
df

   X Y Z
1 1 2 8
2 4 2 9
3 4 3 9
4 5 3 9
5 6 4 10
6 7 5 13
7 10 11 15
8 12 11 17

Ми можемо використовувати функцію summary() для обчислення різних описових статистичних даних для кожної змінної:

 #calculate descriptive statistics for each variable
summary(df)

       xyz Min. : 1,000 Min. : 2,000 Min. : 8.00  
 1st Qu.: 4,000 1st Qu.: 2,750 1st Qu.: 9.00  
 Median: 5,500 Median: 3,500 Median: 9.50  
 Mean: 6.125 Mean: 5.125 Mean: 11.25  
 3rd Qu.: 7,750 3rd Qu.: 6,500 3rd Qu.: 13.50  
 Max. :12,000 Max. :11,000 Max. :17.00

Ми також можемо використовувати круглі дужки, щоб обчислити лише описову статистику для певних змінних у кадрі даних:

 #calculate descriptive statistics for 'x' and 'z' only
summary(df[, c(' x ', ' z ')])

       xz Min. : 1,000 Min. : 8.00  
 1st Qu.: 4.000 1st Qu.: 9.00  
 Median: 5.500 Median: 9.50  
 Mean: 6.125 Mean: 11.25  
 3rd Qu.: 7.750 3rd Qu.: 13.50  
 Max. :12,000 Max. :17.00 

Ми також можемо використовувати функцію sapply() для обчислення конкретної описової статистики для кожної змінної.

Наприклад, наведений нижче код показує, як обчислити стандартне відхилення кожної змінної:

 #calculate standard deviation for each variable
sapply(df, sd, na. rm = TRUE )

       X Y Z
3.522884 3.758324 3.327376

Ми також можемо використовувати функцію() у sapply() для обчислення описової статистики.

Наприклад, наведений нижче код показує, як обчислити діапазон для кожної змінної:

 #calculate range for each variable
sapply(df, function(df) max(df, na. rm = TRUE )-min(df, na. rm = TRUE ))

 X Y Z
11 9 9

Нарешті, ми можемо створити складну функцію, яка обчислює описову статистику, а потім використовувати цю функцію з функцією sapply() .

Наприклад, наступний код показує, як обчислити режим кожної змінної у кадрі даних:

 #define function that calculates mode
find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

#calculate mode for each variable
sapply(df, find_mode)

$x
[1] 4

$y
[1] 2 3 11

$z
[1] 9

З результату ми бачимо:

  • Мода змінної x дорівнює 4 .
  • Режим змінної y – це 2 , 3 і 11 (оскільки кожне з цих значень з’являється найчастіше)
  • Режим змінної z дорівнює 9 .

Використовуючи функції summary() і sapply() , ми можемо обчислити будь-яку описову статистику, яку нам потрібно, для кожної змінної у фреймі даних.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як створити зведені таблиці в R
Як знайти інтерквартильний діапазон у R
Як видалити викиди в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *