同じ数のデータフレームのリストが2つ(1つ以上)あり、異なるリストのデータフレームを1つのリストにまとめる必要があります。出力として、個々のリストと同じ数のデータフレームの単一のリストを取得したいと考えています。異なるリストのデータフレームを1つのリストにまとめる
少し複雑に聞こえるが、基本的に私は、拡張可能かつ簡単な方法でこれをしたい:
d1 <- data.frame(y1=c(1,2,3),y2=c(4,5,6))
d2 <- data.frame(y1=c(3,2,1),y2=c(6,5,4))
l1 <- list(d1,d2)
d3 <- data.frame(y1=c(11,22,33),y2=c(44,55,66))
d4 <- data.frame(y1=c(33,22,11),y2=c(66,55,44))
l2 <- list(d3,d4)
new_d1 <- do.call(rbind,list(l1[[1]],l2[[1]]))
new_d2 <- do.call(rbind,list(l1[[2]],l2[[2]]))
output <- list(new_d1,new_d2)
出力がより次のようになります。
> output
[[1]]
y1 y2
1 1 4
2 2 5
3 3 6
4 11 44
5 22 55
6 33 66
[[2]]
y1 y2
1 3 6
2 2 5
3 1 4
4 33 66
5 22 55
6 11 44
また、缶をどの機能l1とl2が既にリストに載っている場合は使用しますか?
私は既にlapply()
とsapply()
を見ていますが、どちらの機能も実際には適合しません。フォーラムでは、単一のデータフレームでデータフレームのリストを結合するソリューションしか見つけません。
'Map(rbind、l1、l2)'? –
@docendodiscimus asnwerとして投稿し、これを閉じてください。 – akrun
私はそれを@akrunに任せます。あなたの答えを自由に元に戻してください。あなたが 'Map'を追加しても構いません。私はそれがとにかく重複していると信じています –