na.rm = TRUE到底意味着什么?

时间:2019-10-18 03:32:05

标签: r

每当数据中包含NA时,我们都使用na.rm = TRUE来获取均值,众数等的正确结果。我可以理解rm是删除的,甚至可以用来删除变量。但是为什么我们用小写的na呢? R是区分大小写的?布尔值TRUE在这里做什么?

2 个答案:

答案 0 :(得分:2)

na.rm是许多函数中的参数之一(您将举例说明)。要获取有关函数自变量的信息,请运行?function

例如,以mean()运行:

?mean

为您提供所需的信息:

  

na.rm:一个逻辑值,指示在进行计算之前是否应删除NA值。

通过向此参数输入逻辑值(TRUEFALSE),您可以选择在运行函数时是否剥离NA。默认值(也由mean()文档提供)为FALSE

是的:R区分大小写。

答案 1 :(得分:2)

参数na.rm提供了一种简单的方法,可以将缺失值编码为NA来从数据中删除它们。在基数R中,其标准默认值为FALSE,表示NA不会被删除。

请考虑以下包含2个元素的向量,其中之一是缺失值。

x <- c(1, NA)

现在,它的平均值是多少?
我们是否应该将所有不丢失的值相加并除以其全长 2?还是应该除以{strong> NA长度就是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