R:将数据帧拆分为 n 个分区,并在所有可能的分区组合中重新组合它们

问题描述

我有 6 列的数据框,我想将它们分成 3 部分,每部分 2 列。我想以所有可能的组合重新组合分区以创建 7 个新数据帧

part1,part2,part3
part1,par2
part1,part3
part2,part3
part1
part2
part3

我稍微修改了这个解决方案以重新组合它们Split a dataframe into all possible combinations of dataframes by 3 columns in R

>frame <- data.frame(id = letters[seq( from = 1,to = 10 )],a = rnorm(10,4),b = rnorm(10,6),c=rnorm(10,5),d = rnorm(10,2),e=rnorm(10,f = rnorm(10,2))

> frame
   id        a        b        c         d        e          f
1   a 6.322845 5.828619 5.465636 2.7658092 6.522706  1.4896078
2   b 2.352437 5.521230 6.555715 0.6612871 5.288508  2.4837969
3   c 2.790967 9.253197 3.724231 2.9954273 4.887744  1.3020424
4   d 2.017975 6.038846 4.540511 1.7989492 6.059974 -0.2463154
5   e 4.004463 4.384898 5.341084 1.9528288 4.186449  1.0823939
6   f 2.600336 6.562758 5.708489 2.1142707 6.769220  1.7942291
7   g 3.850400 7.231973 4.918542 3.3562489 6.090841  1.4202527
8   h 2.932744 6.377516 5.518261 1.7423230 4.422915  1.8789437
9   i 5.135185 5.218992 4.710196 1.1878825 5.421876  0.8455756
10  j 5.188278 7.233590 6.303500 0.3868047 4.390973  1.6997801 

>m <- seq(3) 
>j <-function(m){lapply(as.data.frame(combn(ncol(frame) - 1,m)),function(idx) frame[,c(1,idx + 1)])}

>lapply(m,function(m) j(m))

这将通过改组所有列来创建所有组合。我不想要列的组合,而是分区的组合。我怎样才能做到这一点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)