1

我有 7 个具有不同行号但列数相同的数据帧,我想生成所有数据帧的所有可能组合。我使用以下方法将所有数据帧组合在一个数组中:

Dataset <- array(list(), c(1,1,7))
Dataset[[1,1,1]] <- df1
Dataset[[1,1,2]] <- df2
Dataset[[1,1,3]] <- df3
Dataset[[1,1,4]] <- df4
Dataset[[1,1,5]] <- df5
Dataset[[1,1,6]] <- df6
Dataset[[1,1,7]] <- df7

然后我可以使用 combn() 函数生成组合:

comb1 <- combn(Dataset, 1)
comb2 <- combn(Dataset, 2)
...
comb7 <- combn(Dataset, 7)

例如,comb2 将生成一个 2 x 21 的列表矩阵。如何将 combn 结果的每一列元素合并到单个数据框 (1 x 21) 以便对新数据集进行进一步处理?

4

1 回答 1

2

你得到一个 data.frame 列表

ll <-  lapply(1:7, function(i) do.call(rbind, combn(Dataset, i)))

你可以得到一个大的data.frame

big.l <- do.call(rbind,ll)
于 2013-01-02T10:32:29.503 回答