如果在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

输出结果

x

1 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

输出结果

z

1 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

回到顶部