Как рассчитать условное среднее значение в R (с примерами)


Вы можете использовать следующий синтаксис для вычисления условного среднего значения в R:

mean(df[df$team == 'A', 'points'])

Это вычисляет среднее значение столбца «баллы» для каждой строки во фрейме данных, где столбец «команда» равен «А».

В следующих примерах показано, как использовать этот синтаксис на практике со следующим фреймом данных:

#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 .

Мы можем вручную проверить это, рассчитав среднее значение очков только для строк, где «команда» равна «А»:

  • Среднее количество передач: (33 + 28 + 31) / 3 = 30,66667.

Дополнительные ресурсы

В следующих руководствах объясняется, как рассчитать другие средние значения в R:

Как рассчитать усеченное среднее в R
Как рассчитать среднее геометрическое в R
Как рассчитать средневзвешенное значение в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.