如果 R 数据框中的一列中存在缺失值,则通过忽略缺失值来组合两列。
如果R数据框中的一列中存在缺失值,则要通过忽略缺失值来组合两列,我们可以使用粘贴函数和is.na函数。
例如,如果我们有一个名为df的数据框,其中包含两列C1和C2,其中C2包含一些缺失值,那么我们可以使用下面提到的命令通过忽略C2中的缺失值来组合C1和C2-
cbind(df,Combined=paste(df[,1],replace(df[,2],is.na(df[,2]),"")))
示例1
以下代码段创建了一个示例数据框-
x1<-rpois(20,5) y1<-sample(c(NA,2,5),20,replace=TRUE) df1<-data.frame(x1,y1) df1
创建了以下数据框
x1 y1 1 3 2 2 7 2 3 6 5 4 9 5 5 6 NA 6 2 2 7 3 NA 8 5 2 9 6 5 10 7 5 11 6 NA 12 2 5 13 2 2 14 7 5 15 6 5 16 7 2 17 7 NA 18 3 NA 19 4 5 20 6 5
要在上面创建的数据框中组合x1和y1值,请将以下代码添加到上面的代码段中-
x1<-rpois(20,5) y1<-sample(c(NA,2,5),20,replace=TRUE) df1<-data.frame(x1,y1) cbind(df1,Combined=paste(df1[,1],replace(df1[,2],is.na(df1[,2]),"")))输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
x1 y1 Combined 1 3 2 3 2 2 7 2 7 2 3 6 5 6 5 4 9 5 9 5 5 6 NA 6 6 2 2 2 2 7 3 NA 3 8 5 2 5 2 9 6 5 6 5 10 7 5 7 5 11 6 NA 6 12 2 5 2 5 13 2 2 2 2 14 7 5 7 5 15 6 5 6 5 16 7 2 7 2 17 7 NA 7 18 3 NA 3 19 4 5 4 5 20 6 5 6 5
示例2
以下代码段创建了一个示例数据框-
x2<-sample(c(NA,500,450),20,replace=TRUE) y2<-sample(1:1000,20) df2<-data.frame(x2,y2) df2
创建了以下数据框
x2 y2 1 500 389 2 500 164 3 NA 267 4 NA 68 5 NA 294 6 500 26 7 500 740 8 450 913 9 NA 556 10 NA 800 11 450 80 12 500 236 13 500 65 14 NA 316 15 450 248 16 NA 654 17 NA 113 18 500 691 19 NA 496 20 450 391
要在上面创建的数据框中组合x2和y2值,请将以下代码添加到上面的代码段中-
x2<-sample(c(NA,500,450),20,replace=TRUE) y2<-sample(1:1000,20) df2<-data.frame(x2,y2) cbind(df2,Combined=paste(df2[,2],replace(df2[,1],is.na(df2[,1]),"")))输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
x2 y2 Combined 1 500 389 389 500 2 500 164 164 500 3 NA 267 267 4 NA 68 68 5 NA 294 294 6 500 26 26 500 7 500 740 740 500 8 450 913 913 450 9 NA 556 556 10 NA 800 800 11 450 80 80 450 12 500 236 236 500 13 500 65 65 500 14 NA 316 316 15 450 248 248 450 16 NA 654 654 17 NA 113 113 18 500 691 691 500 19 NA 496 496 20 450 391 391 450