如果在R数据帧的列中存在NA,如何找到标准偏差?
如果R数据帧的向量或列中存在NA,则标准偏差sd命令的输出将得出NA。要解决此问题,我们需要使用na.rm = TRUE,因为我们对不包含缺失值的向量进行处理。例如,如果我们有一个定义为x的数据帧df的列,其中包含缺失值,则可以将x的sd计算为sd(df $x)。
示例
请看以下数据帧:
> set.seed(3521)> x<-c(NA,rnorm(19,5,0.34))
> df1<-data.frame(x)
> df1
输出结果
x1 NA
2 5.107864
3 4.797851
4 5.184345
5 4.680958
6 5.245151
7 5.760667
8 4.924365
9 5.770071
10 5.313064
11 4.564939
12 4.139275
13 4.997252
14 4.991125
15 5.402940
16 5.020513
17 4.644727
18 4.766003
19 5.658426
20 4.939198
示例
> sd(df1$x)
输出结果
[1] NA
通过忽略NA值找到x的标准偏差:
示例
> sd(df1$x,na.rm=TRUE)
输出结果
[1] 0.4210732
让我们看另一个例子:
示例
> z<-sample(c(NA,5,8,7,4,1),20,replace=TRUE)> df2<-data.frame(z)
> df2
输出结果
z1 NA
2 8
3 4
4 4
5 NA
6 8
7 NA
8 1
9 8
10 8
11 1
12 NA
13 7
14 4
15 1
16 5
17 4
18 5
19 NA
20 7
示例
> sd(df2$z,na.rm=TRUE)
输出结果
[1] 2.618615
以上是 如果在R数据帧的列中存在NA,如何找到标准偏差? 的全部内容, 来源链接: utcz.com/z/350213.html