R中的na.omit和na.rm有什么区别?
该na.omit执行通过考虑NA值,但不包括它们在计算中,在另一方面任何计算,na.rm除去NA值,然后执行任何计算。例如,如果一个向量总共有一个NA和5个值,则它们的总和na.omit将通过排除NA来计算,而使用na.rm该向量将通过去除NA来计算。
考虑以下数据帧-
示例
x1<-sample(c(NA,5,2),20,replace=TRUE)输出结果x2<-sample(c(NA,rpois(5,1)),20,replace=TRUE)
df1<-data.frame(x1,x2)
df1
x1 x21 5 2
2 2 0
3 5 0
4 5 0
5 5 0
6 2 0
7 2 0
8 NA 0
9 2 NA
10 2 0
11 2 0
12 NA 0
13 2 2
14 NA 0
15 2 2
16 5 0
17 NA 0
18 2 0
19 NA NA
20 NA NA
查找行意味着使用na.rm和na.omit-
rowMeans(df1,na.rm = TRUE)
[1] 3.5 1.0 2.5 2.5 2.5 1.0 1.0 0.0 2.0 1.0 1.0 0.0 2.0 0.0 2.0 2.5 0.0 1.0 NaN[20] NaN
rowMeans(na.omit(df1))
1 2 3 4 5 6 7 10 11 13 15 16 183.5 1.0 2.5 2.5 2.5 1.0 1.0 1.0 1.0 2.0 2.0 2.5 1.0
示例
y1<-sample(c(NA,rnorm(5)),20,replace=TRUE)输出结果y2<-sample(c(NA,rnorm(5)),20,replace=TRUE)
df2<-data.frame(y1,y2)
df2
y1 y21 -1.8606647 NA
2 -0.2447069 NA
3 -1.8606647 -0.03428118
4 0.4729139 NA
5 0.4729139 1.37315226
6 NA -0.03428118
7 -1.8606647 1.37315226
8 -0.2447069 -1.47198479
9 -0.7419227 NA
10 -0.2447069 -1.47198479
11 -0.2447069 -0.22281980
12 -0.7419227 -0.11284788
13 NA -0.03428118
14 NA -0.11284788
15 NA 1.37315226
16 NA -0.03428118
17 -0.4378451 -0.22281980
18 -0.2447069 1.37315226
19 -0.2447069 -0.03428118
20 -0.4378451 -1.47198479
查找行意味着使用na.rm和na.omit-
rowMeans(df2,na.rm = TRUE)
[1] -1.86066467 -0.24470688 -0.94747292 0.47291388 0.92303307 -0.03428118[7] -0.24375621 -0.85834583 -0.74192272 -0.85834583 -0.23376334 -0.42738530
[13] -0.03428118 -0.11284788 1.37315226 -0.03428118 -0.33033246 0.56422269
[19] -0.13949403 -0.95491495
rowMeans(na.omit(df2))
3 5 7 8 10 11 12-0.9474729 0.9230331 -0.2437562 -0.8583458 -0.8583458 -0.2337633 -0.4273853
17 18 19 20
-0.3303325 0.5642227 -0.1394940 -0.9549149
以上是 R中的na.omit和na.rm有什么区别? 的全部内容, 来源链接: utcz.com/z/358112.html