在 R 資料框中,如果一列存在缺失值,如何合併兩列並忽略缺失值。
為了在 R 資料框中合併兩列並忽略一列中存在的缺失值,我們可以使用 paste 函式和 is.na 函式。
例如,如果我們有一個名為 df 的資料框,它包含兩列,例如 C1 和 C2,其中 C2 包含一些缺失值,那麼我們可以使用下面提到的命令來合併 C1 和 C2,同時忽略 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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP