«Ошибка в mean.default (X [[i]], ...): сообщение« trim »должно быть числовым с длиной один» в R - PullRequest
0 голосов
/ 22 февраля 2019

Скажем, у меня есть следующие данные:

LungCap Age Height  Smoke   Gender  Caesarean
6.475   6   62.1    no      male    no
10.125  18  74.7    yes     female  no
9.55    16  69.7    no      female  yes
11.125  14  71      no      male    no
4.8      5  56.9    no      male    no
6.225   11  58.7    no      female  no

Теперь, пожалуйста, посмотрите на следующую команду:

> attach(LungCap6)
> tapply(Age, Smoke, mean, T)
Error in mean.default(X[[i]], ...) : 'trim' must be numeric of length one
> length(Age)
[1] 6
> tapply(X=Age, INDEX=Smoke, FUN=mean, na.rm=T)
  no  yes 
10.4 18.0 
> tapply(Age, Smoke, mean, T)
Error in mean.default(X[[i]], ...) : 'trim' must be numeric of length one
>

Почему выдается указанная выше ошибка и как ее устранить

1 Ответ

0 голосов
/ 22 февраля 2019

trim= - второй аргумент функции mean(), и вы не хотите передавать TRUE этому аргументу при вызове в tapply().Это то, что tapply() делает, он передает дополнительные аргументы, сохраняя порядок в вызываемой функции.

Таким образом, вы должны явно назвать аргумент, который вы хотите отправить TRUE, в данном случае na.rm=,поскольку это 3-й, а не 2-й аргумент mean():

> attach(LungCap6)
> tapply(Age, Smoke, mean, na.rm=TRUE)

Проверьте порядок аргументов с помощью ?mean

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...