R-以组合方式设置data.frame

时间:2018-07-20 11:22:41

标签: r

我的data.frame如下:

Name Feature
A    1
B    2
C    4 
D    1
E    7 
F    5
G    2
H    2

我必须从这个data.frame的数据系列中以组合方式创建三行。换句话说,我需要获得

subsetted_data.frame_1

Name Feature
A    1
B    2
C    4 

subsetted_data.frame_2

Name Feature
D    1
G    2
H    2

subsetted_data.frame_3

Name Feature
F    5
G    2
H    2

依次类推-最终创建所有可能的组合。我试图使用split函数(来自data.table包),但是它不起作用。哪一种方法是最简单的方法?

1 个答案:

答案 0 :(得分:1)

您可以使用execute'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:348:in获取索引矩阵,然后将它们作为参数传递给combn匿名函数。

lapply

编辑。

在@AkselA的评论之后,我已经尝试了他的代码,并且,如果像上面的代码一样在设置cmb <- combn(nrow(dat), 3) sub_data <- lapply(seq_len(ncol(cmb)), function(i) dat[cmb[, i], ]) names(sub_data) <- sprintf("subsetted_data.frame_%02d", seq_along(sub_data)) 之前运行,则两个结果在names的意义上是相同的,这意味着完全一样。

identical

数据,格式为sub_data2 <- apply(cmb, 2, function(x) dat[x,]) identical(sub_data, sub_data2) #[1] TRUE

dput