我的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包),但是它不起作用。哪一种方法是最简单的方法?
答案 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