2016-04-03 9 views
1

各データフレームの列数が異なるデータフレーム(df1、df2、.. dfn)からなるリスト(list1)があります。すべての要素が欠落している行を削除する-R

list1[[1]]をしてみましょう:

df1: 

indx v1 v2 
1  23 45 
2  NA 34 
3  NA NA 
4  NA NA 
5  56 NA 

df2: 

indx v9 v6 
1  5 15 
2  11 78 
3  16 NA 
4  NA NA 
5  NA 8 

私は(INDX行を除く)すべての行elemetnsはNAいる行を削除します。

ので、出力に含まは(LIST2)

list2[[1]]次のようになります。

df1: 

indx v1 v2 
1  23 45 
2  NA 34 
5  56 NA 

df2: 

indx v9 v6 
1  5 15 
2  11 78 
3  16 NA 
5  NA 8 

私はRを使用して、これをどのように行うことができますか?私はどんな助けでも非常にうれしいでしょう。どうもありがとう。我々はlapplylistをループでき

答えて

2

、0に等しくなく、行のサブセットにそれを使用して要素を検査することによって論理的ベクトルに変換し、論理的マトリックス(!is.na(x[-1]))にrowSumsを得ます。

lapply(list1, function(x) x[!!rowSums(!is.na(x[-1])),]) 
#$df1 
# indx v1 v2 
#1 1 23 45 
#2 2 NA 34 
#5 5 56 NA 

#$df2 
# indx v9 v6 
#1 1 5 15 
#2 2 11 78 
#3 3 16 NA 
#5 5 NA 8 
関連する問題