如何将缺少值的列转换为R中缺少值的二进制值为0?
要将缺少值的列转换为带有0的二进制值(对于缺失值),我们可以将as.integerfunction withcomplete.cases用于数据框列。例如,如果我们有一个名为df的数据框,其中包含具有某些缺失值的列x,则可以使用以下命令将列x转换为二进制,其中缺失值为0-
as.integer(complete.cases(df$x))
例1
考虑以下数据帧-
> x1<-sample(c(NA,2),20,replace=TRUE)输出结果> y1<-rpois(20,5)
> df1<-data.frame(x1,y1)
> df1
x1 y11 NA 2
2 2 5
3 2 10
4 2 2
5 2 4
6 NA 7
7 NA 5
8 NA 6
9 2 5
10 2 7
11 2 3
12 2 2
13 NA 2
14 2 5
15 NA 6
16 NA 5
17 NA 5
18 2 5
19 2 4
20 2 10
将x1列转换为0的二进制值以获取缺失值-
> df1$x1<-as.integer(complete.cases(df1$x1))输出结果> df1
x1 y11 0 2
2 1 5
3 1 10
4 1 2
5 1 4
6 0 7
7 0 5
8 0 6
9 1 5
10 1 7
11 1 3
12 1 2
13 0 2
14 1 5
15 0 6
16 0 5
17 0 5
18 1 5
19 1 4
20 1 10
例2
> x2<-sample(c(NA,rnorm(2)),20,replace=TRUE)输出结果> y2<-rnorm(20)
> df2<-data.frame(x2,y2)
> df2
x2 y21 0.226603 0.25344032
2 0.226603 1.29778682
3 0.545375 -0.66657868
4 NA -1.69272917
5 NA 0.82631979
6 0.545375 -0.12555785
7 0.545375 0.06530913
8 0.545375 0.28359006
9 NA -0.36156762
10 0.226603 0.50943088
11 0.545375 -0.03497627
12 0.545375 1.04488383
13 0.226603 0.55466746
14 0.545375 2.13492023
15 NA 1.18845284
16 0.545375 -0.32171987
17 0.545375 -0.04996223
18 0.226603 -0.41604823
19 0.226603 -1.11003170
20 0.545375 0.34924872
将x2列转换为0的二进制值以获取缺失值-
> df2$x2<-as.integer(complete.cases(df2$x2))输出结果> df2
x2 y21 1 0.25344032
2 1 1.29778682
3 1 -0.66657868
4 0 -1.69272917
5 0 0.82631979
6 1 -0.12555785
7 1 0.06530913
8 1 0.28359006
9 0 -0.36156762
10 1 0.50943088
11 1 -0.03497627
12 1 1.04488383
13 1 0.55466746
14 1 2.13492023
15 0 1.18845284
16 1 -0.32171987
17 1 -0.04996223
18 1 -0.41604823
19 1 -1.11003170
20 1 0.34924872
以上是 如何将缺少值的列转换为R中缺少值的二进制值为0? 的全部内容, 来源链接: utcz.com/z/313951.html