如何在R数据帧中将NaN值转换为NA?
要将NaN值转换为NA,我们需要检测数据帧中的NaN值并将其设置为NA。例如,如果我们有一个名为df的数据框,其中包含具有某些NaN值的x列,则可以使用命令df $x [is.nan(df $x)] <-NA将那些NaN转换为NA
例1
考虑以下数据帧-
> x1<-sample(c(1,NaN),20,replace=TRUE)输出结果> x2<-rnorm(20)
> df1<-data.frame(x1,x2)
> df1
x1 x21 NaN -0.44923302
2 NaN -0.12670027
3 1 0.59120380
4 1 -0.18782341
5 NaN -0.28730385
6 1 0.57412261
7 NaN -0.33620181
8 1 1.37168545
9 NaN -2.24121448
10 NaN 1.05990104
11 1 1.95544957
12 NaN -2.19544854
13 1 -0.94131203
14 1 -0.37307028
15 NaN 1.21659101
16 1 -0.03788952
17 1 -0.16122552
18 1 0.90254474
19 1 -0.73196835
20 NaN -0.28462669
将x1中的NaN转换为NA-
> df1$x1[is.nan(df1$x1)]<-NA输出结果> df1
x1 x21 NA -0.44923302
2 NA -0.12670027
3 1 0.59120380
4 1 -0.18782341
5 NA -0.28730385
6 1 0.57412261
7 NA -0.33620181
8 1 1.37168545
9 NA -2.24121448
10 NA 1.05990104
11 1 1.95544957
12 NA -2.19544854
13 1 -0.94131203
14 1 -0.37307028
15 NA 1.21659101
16 1 -0.03788952
17 1 -0.16122552
18 1 0.90254474
19 1 -0.73196835
20 NA -0.28462669
例2
> y1<-sample(c(5,NaN),20,replace=TRUE)输出结果> y2<-rpois(20,5)
> df2<-data.frame(y1,y2)
> df2
y1 y21 NaN 7
2 NaN 5
3 NaN 3
4 5 4
5 5 4
6 5 4
7 5 4
8 NaN 4
9 5 5
10 NaN 5
11 5 5
12 5 2
13 5 9
14 5 3
15 NaN 6
16 NaN 8
17 5 5
18 5 7
19 NaN 4
20 NaN 8
将y1中的NaN转换为NA-
> df2$y1[is.nan(df2$y1)]<-NA输出结果> df2
y1 y21 NA 7
2 NA 5
3 NA 3
4 5 4
5 5 4
6 5 4
7 5 4
8 NA 4
9 5 5
10 NA 5
11 5 5
12 5 2
13 5 9
14 5 3
15 NA 6
16 NA 8
17 5 5
18 5 7
19 NA 4
20 NA 8
以上是 如何在R数据帧中将NaN值转换为NA? 的全部内容, 来源链接: utcz.com/z/361655.html