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


Усеченное среднее — это среднее значение набора данных, рассчитанное после удаления определенного процента наименьших и наибольших значений из набора данных.

Например, усеченное на 10 % среднее будет представлять собой среднее значение набора данных после удаления 10 % наименьших значений и 10 % наибольших значений.

Самый простой способ вычислить усеченное среднее значение в R — использовать следующий базовый синтаксис:

#calculate 10% trimmed mean
mean(x, trim= 0.1 )

В следующих примерах показано, как использовать эту функцию для вычисления усеченного среднего на практике.

Пример 1. Вычисление усеченного среднего вектора

В следующем коде показано, как вычислить 10% усеченное среднее значение для вектора данных:

#define data
data = c(22, 25, 29, 11, 14, 18, 13, 13, 17, 11, 8, 8, 7, 12, 15, 6, 8, 7, 9, 12)

#calculate 10% trimmed mean
mean(data, trim= 0.1 )

[1] 12.375

Среднее значение, усеченное на 10%, составляет 12,375 .

Это среднее значение набора данных после удаления наименьших 10 % и наибольших 10 % значений из набора данных.

Пример 2. Вычисление усеченного среднего значения столбца во фрейме данных

В следующем коде показано, как вычислить среднее значение, усеченное на 5%, для определенного столбца во фрейме данных:

#create data frame
df = data.frame(points=c(25, 12, 15, 14, 19, 23, 25, 29),
 assists=c(5, 7, 7, 9, 12, 9, 9, 4),
 rebounds=c(11, 8, 10, 6, 6, 5, 9, 12))

#calculate 5% trimmed mean of points
mean(df$points, trim= 0.05 )

[1] 20.25

Усеченное на 5% среднее значений в столбце «баллы» равно 20,25 .

Это среднее значение столбца «баллы» после удаления наименьших 5 % и наибольших 5 % значений.

Пример 3. Вычисление усеченного среднего значения нескольких столбцов

В следующем коде показано, как вычислить усеченное на 5 % среднее значение для нескольких столбцов во фрейме данных:

#create data frame
df = data.frame(points=c(25, 12, 15, 14, 19, 23, 25, 29),
 assists=c(5, 7, 7, 9, 12, 9, 9, 4),
 rebounds=c(11, 8, 10, 6, 6, 5, 9, 12))

#calculate 5% trimmed mean of points and assists
sapply(df[c('points', 'assists')], function (x) mean(x, trim= 0.05 ))

 points assists 
 20.25 7.75

Из вывода мы видим:

  • Усеченное на 5% среднее значение столбца «баллы» равно 20,25 .
  • Усеченное на 5% среднее значение столбца «ассисты» составляет 7,75 .

Связанный: Руководство по apply(), lapply(), sapply() и tapply() в R

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

Как рассчитать усеченное среднее вручную
Калькулятор усеченного среднего