2016-04-15 13 views
-4

同じ名前の2つのリストからcomebineデータフレームを取り出し、バインド後に各データフレームのすべての繰り返し行を削除します。私はパッケージ'pylr'を試しましたが、動作していないようです。次のように データフレームはすべて同じ長さを持っている:2つのリストから複数のペアになったデータフレームを結合する

> summary(ww) 
     Length Class  Mode 
WFGC01 19  data.frame list 
WFGC02 19  data.frame list 
WFGC03 19  data.frame list 
WFGC05 19  data.frame list 
WFGC09 19  data.frame list 
WFGC10 19  data.frame list 
WFGC13 19  data.frame list 
WFGC15 19  data.frame list 
WFGC17 19  data.frame list 
WFGC18 19  data.frame list 
WFGC19 19  data.frame list 
WFGC20 19  data.frame list 
WFGC21 19  data.frame list 
WFGC22 19  data.frame list 

> summary(dd03) 
     Length Class  Mode 
WFGC02 19  data.frame list 
WFGC03 19  data.frame list 
WFGC05 19  data.frame list 
WFGC07 19  data.frame list 
WFGC10 19  data.frame list 
WFGC13 19  data.frame list 
WFGC17 19  data.frame list 
WFGC18 19  data.frame list 
WFGC22 19  data.frame list 
WFGC24 19  data.frame list 
+0

試したことのスニペットを含めることはできますか? – xgord

+0

あなたは 'rbindlist'と' unique'を意味しますか? – Sotos

答えて

1

をあなたの問題の説明を考えると、次のように動作することがあります。

# get all overlapping names 
bindNames <- intersect(names(ww), names(dd03)) 
# get a list of rbinded data.frames, keeping unique observations 
newList <- lapply(bindNames, function(i) unique(rbind(ww[[i]], dd03[[i]]))) 

場合は、この時点で、すべてのdata.framesを1つのdata.frameに追加したい場合は、もう一度lapplyを使用できます。

newDataFrame <- as.data.frame(lapply(newList, rbind)) 
+1

data.frameにnewListを渡して表示すると、私は謙虚に思っています。 – Chris

+0

@Chrisありがとう。 OPが追加されたdata.frameまたは単一の大きなdata.frameのリストを望んでいたかどうかはわかりませんでしたが、より大きなdata.frameを取得する方法を示すことは害ではありません。 – lmo

+0

@Imoありがとう!私はちょうどこれが必要です。それは本当に多くの助けになりました。 –

関連する問題