Як обчислити умовне середнє в r (з прикладами)
Ви можете використовувати наступний синтаксис для обчислення умовного середнього в R:
mean(df[df$team == ' A ', ' points '])
Це обчислює середнє значення стовпця «бали» для кожного рядка у кадрі даних, де стовпець «команда» дорівнює «A».
Наведені нижче приклади показують, як використовувати цей синтаксис на практиці з таким кадром даних:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), points=c(99, 90, 93, 86, 88, 82), assists=c(33, 28, 31, 39, 34, 30)) #view data frame df team points assists 1 A 99 33 2 A 90 28 3 A 93 31 4 B 86 39 5 B 88 34 6 B 82 30
Приклад 1: обчислення умовного середнього для категоріальної змінної
У наведеному нижче коді показано, як обчислити середнє значення стовпця «очки» лише для рядків у кадрі даних, де стовпець «команда» має значення «А».
#calculate mean of 'points' column for rows where team equals 'A'
mean(df[df$team == ' A ', ' points '])
[1] 94
Середнє значення в стовпці «бали» для рядків, де «команда» дорівнює «А», становить 94 .
Ми можемо перевірити це вручну, усереднивши значення балів лише для рядків, де «команда» дорівнює «А»:
- Середні бали: (99 + 90 + 93) / 3 = 94
Приклад 2: обчислення умовного середнього для числової змінної
У наступному коді показано, як обчислити середнє значення стовпця «допомога» лише для рядків у кадрі даних, де значення стовпця «очки» більше або дорівнює 90.
#calculate mean of 'assists' column for rows where 'points' >= 90
mean(df[df$points >= 90 , ' assists '])
[1] 30.66667
Середнє значення в стовпці «допомоги» для рядків, де «очки» більше або дорівнює 90, становить 30,66667 .
Ми можемо перевірити це вручну, усереднивши допоміжні значення лише для ліній, де кількість очок більше або дорівнює 90:
- Середня кількість передач: (33 + 28 + 31) / 3 = 30,66667
Додаткові ресурси
У наступних посібниках пояснюється, як обчислити інші середні значення в R:
Як обчислити зрізане середнє в R
Як обчислити середнє геометричне в R
Як обчислити середньозважену величину в R