Як обчислити описову статистику в 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