如何在 R 中透過排除缺失值來合併列?
如果我們有一個數據集,其中每列的交替位置包含缺失值,那麼我們可能希望透過排除這些缺失值來合併列,這將減少資料集,並且分析可能會變得更容易。
為此,我們可以使用 na.exclude 函式以及 apply 函式,如下面的示例所示。
示例 1
以下程式碼片段建立了一個示例資料框 -
x1<-rep(c(NA,2,10),times=c(5,10,5)) x2<-rep(c(1,3,5,NA),times=c(5,5,5,5)) x3<-rep(c(10,NA,3),times=c(5,10,5)) df1<-data.frame(x1,x2,x3) df1
建立了以下資料框 -
x1 x2 x3 1 NA 1 10 2 NA 1 10 3 NA 1 10 4 NA 1 10 5 NA 1 10 6 2 3 NA 7 2 3 NA 8 2 3 NA 9 2 3 NA 10 2 3 NA 11 2 5 NA 12 2 5 NA 13 2 5 NA 14 2 5 NA 15 2 5 NA 16 10 NA 3 17 10 NA 3 18 10 NA 3 19 10 NA 3 20 10 NA 3
要從 df1 中排除 NA 併合並列,請將以下程式碼新增到上面的程式碼片段中 -
x1<-rep(c(NA,2,10),times=c(5,10,5)) x2<-rep(c(1,3,5,NA),times=c(5,5,5,5)) x3<-rep(c(10,NA,3),times=c(5,10,5)) df1<-data.frame(x1,x2,x3) t(apply(df1,1,na.exclude))
輸出
如果您將以上所有程式碼片段作為單個程式執行,它將生成以下輸出 -
[,1][,2] [1,] 1 10 [2,] 1 10 [3,] 1 10 [4,] 1 10 [5,] 1 10 [6,] 2 3 [7,] 2 3 [8,] 2 3 [9,] 2 3 [10,] 2 3 [11,] 2 5 [12,] 2 5 [13,] 2 5 [14,] 2 5 [15,] 2 5 [16,] 10 3 [17,] 10 3 [18,] 10 3 [19,] 10 3 [20,] 10 3
示例 2
以下程式碼片段建立了一個示例資料框 -
y1<-rep(c(NA,rnorm(5)),times=c(5,2,3,3,3,4)) y2<-rep(c(rnorm(2),NA),times=c(10,5,5)) y3<-rep(c(rnorm(1),NA,rnorm(1)),times=c(5,10,5)) df2<-data.frame(y1,y2,y3) df2
建立了以下資料框 -
y1 y2 y3 1 NA 0.1152603 -0.9838989 2 NA 0.1152603 -0.9838989 3 NA 0.1152603 -0.9838989 4 NA 0.1152603 -0.9838989 5 NA 0.1152603 -0.9838989 6 -0.74142593 0.1152603 NA 7 -0.74142593 0.1152603 NA 8 -1.88274271 0.1152603 NA 9 -1.88274271 0.1152603 NA 10 -1.88274271 0.1152603 NA 11 -0.09684216 -1.2886519 NA 12 -0.09684216 -1.2886519 NA 13 -0.09684216 -1.2886519 NA 14 -0.08528031 -1.2886519 NA 15 -0.08528031 -1.2886519 NA 16 -0.08528031 NA 0.1967864 17 -0.80126932 NA 0.1967864 18 -0.80126932 NA 0.1967864 19 -0.80126932 NA 0.1967864 20 -0.80126932 NA 0.1967864
要從 df2 中排除 NA 併合並列,請將以下程式碼新增到上面的程式碼片段中 -
y1<-rep(c(NA,rnorm(5)),times=c(5,2,3,3,3,4)) y2<-rep(c(rnorm(2),NA),times=c(10,5,5)) y3<-rep(c(rnorm(1),NA,rnorm(1)),times=c(5,10,5)) df2<-data.frame(y1,y2,y3) t(apply(df2,1,na.exclude))
輸出
如果您將以上所有程式碼片段作為單個程式執行,它將生成以下輸出 -
[,1] [,2] [1,] 0.11526026 -0.9838989 [2,] 0.11526026 -0.9838989 [3,] 0.11526026 -0.9838989 [4,] 0.11526026 -0.9838989 [5,] 0.11526026 -0.9838989 [6,] -0.74142593 0.1152603 [7,] -0.74142593 0.1152603 [8,] -1.88274271 0.1152603 [9,] -1.88274271 0.1152603 [10,] -1.88274271 0.1152603 [11,] -0.09684216 -1.2886519 [12,] -0.09684216 -1.2886519 [13,] -0.09684216 -1.2886519 [14,] -0.08528031 -1.2886519 [15,] -0.08528031 -1.2886519 [16,] -0.08528031 0.1967864 [17,] -0.80126932 0.1967864 [18,] -0.80126932 0.1967864 [19,] -0.80126932 0.1967864 [20,] -0.80126932 0.1967864
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP