長さの異なるリストの2つのリストをデータフレームに結合しようとしています。r - リストの複数のリストをデータフレームに結合する方法
私は2つの行列を含むリストから始めています。
mtx_a <- matrix(data = c(1:24), nrow = 4)
mtx_b <- matrix(data = c(25:36), nrow = 3)
row.names(mtx_a) <- c("A", "B", "C", "D")
row.names(mtx_b) <- c("A", "B", "C")
colnames(mtx_a) <- c("V1", "V2", "W1", "W2", "X1", "X2")
colnames(mtx_b) <- c("Y1", "Y2", "Z1", "Z2")
mtx_list <- list(mtx_a, mtx_b)
names(mtx_list) <- c("mtx_a", "mtx_b")
mtx_list
私は調べるためにrownameに基づいて特定の行を抽出しました。
mtx_list <- lapply(mtx_list, function(mtx_list){
mtx_list[row.names(mtx_list) %in% c("A"),]})
次は、インデックスに基づいて特定の列を抽出しました。 (交互の列は条件1と2に相当します)。
私はこのようになり、データフレームを生成しようとしていますcond_1 <- lapply(lapply(mtx_list, function(mtx_list) {
mtx_list[c(T,F)]}), unname)
cond_2 <- lapply(lapply(mtx_list, function(mtx_list) {
mtx_list[c(F,T)]}), unname)
:
cond_1 cond_2
mtx_a 1 5
mtx_a 9 13
mtx_a 17 21
mtx_b 25 28
mtx_b 31 34
私は次のことを試してみましたが、任意の成功していなかった:あなたが使用することができます
list(cond_1, cond_2)
library(plyr)
ldply(c(cond_1, cond_2))