每当数据中包含NA时,我们都使用na.rm = TRUE来获取均值,众数等的正确结果。我可以理解rm是删除的,甚至可以用来删除变量。但是为什么我们用小写的na呢? R是区分大小写的?布尔值TRUE在这里做什么?
答案 0 :(得分:2)
na.rm
是许多函数中的参数之一(您将举例说明)。要获取有关函数自变量的信息,请运行?function
。
例如,以mean()
运行:
?mean
为您提供所需的信息:
na.rm:一个逻辑值,指示在进行计算之前是否应删除NA值。
通过向此参数输入逻辑值(TRUE
或FALSE
),您可以选择在运行函数时是否剥离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