что означает аргумент trim в функции mean ()? - PullRequest
1 голос
/ 21 мая 2019

Я просто не могу понять концепцию отделки. Сначала я думал, что это округление чисел, но это не имеет смысла. Кто-нибудь может уточнить, что здесь делает триммер?

# The linkedin and facebook vectors have already been created for you
linkedin <- c(16, 9, 13, 5, 2, 17, 14)
facebook <- c(17, 7, 5, 16, 8, 13, 14)

# Calculate the mean of the sum
avg_sum <- mean(c(linkedin+facebook))

# Calculate the trimmed mean of the sum
avg_sum_trimmed <- mean(c(linkedin+facebook), trim = 0.2)

# Inspect both new variables
avg_sum
[1] 22.28571
avg_sum_trimmed
[1] 22.6

Я помещаю две средние функции, одну с другой, а без аргумента обрезки. Любые комментарии о том, как разъяснить эту концепцию, приветствуются.

1 Ответ

4 голосов
/ 21 мая 2019

Согласно ?mean

trim - Фракция (от 0 до 0.5) наблюдений, которую нужно обрезать с каждого конца x до вычисления среднего значения. Значения дифферента за пределами этого диапазона принимаются в качестве ближайшей конечной точки.

Если мы используем вектор 'v1'

v1 <- c(linkedin + facebook)

с length 7, значения sort ed будут

v2 <- sort(v1)

Удаление 20% наблюдений с любого конца (из sort ed vector будет примерно 1-м, а последнее наблюдение будет удалено

mean(v2[-c(1, 7)])
#[1] 22.6

, что равно

mean(v1, trim = 0.2)
#[1] 22.6

- проверка с помощью trim = 0.4

mean(v2[-c(1:2, 6:7)])
#[1] 22.33333
mean(v1, trim = 0.4)
#[1] 22.33333
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...