Что на самом деле означает na.rm = TRUE? - PullRequest
0 голосов
/ 18 октября 2019

Всякий раз, когда у нас есть NA в наших данных, мы использовали na.rm = TRUE, чтобы получить правильные результаты для среднего значения, режима и т. Д. Что делает na.rm? Я мог бы понять, что rm предназначен для удаления, которое мы даже используем для удаления переменных. Но почему мы написали na маленьким шрифтом? R чувствителен к регистру? И что здесь делает логическое значение TRUE?

Ответы [ 2 ]

2 голосов
/ 18 октября 2019

Аргумент na.rm дает простой способ удаления пропущенных значений из данных, если они закодированы как NA. В базе R его стандартное значение по умолчанию FALSE, означающее, что NA не удаляются.

Рассмотрим следующий вектор с двумя элементами, один из которых является отсутствующим значением.

x <- c(1, NA)

Каково его среднее значение?
Должны ли мы добавить все не пропущенные значения и разделитьего полная длина , 2? Или мы должны разделить его длину после удаления из NA 's, просто 1?

sum(x, na.rm = TRUE)/length(x)
#[1] 0.5
sum(x, na.rm = TRUE)/length(x[!is.na(x)])
#[1] 1

Если используется mean, вычисляется последний.

mean(x, na.rm = TRUE)
#[1] 1
2 голосов
/ 18 октября 2019

na.rm является одним из аргументов в ряде функций (из которых вы приводите несколько примеров). Чтобы получить информацию об аргументах функции, запустите ?function.

Например, с mean(), запустите:

?mean

, чтобы получить информацию, которую вы ищете:

na.rm: логическое значение, указывающее, следует ли удалять значения NA перед продолжением вычисления.

Путем подачи этого аргумента в логическое значение (TRUE или FALSE) вы выбираете, удалять ли NA или нет во время работы функции. Значение по умолчанию (также заданное в документации mean()): FALSE.

И да: R чувствителен к регистру.

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