【发布时间】:2018-04-19 04:56:18
【问题描述】:
我有一个包含两列的数据框
richness<- data.frame ("replicate_id"=c("1", "9", "10"),
"richness"= c(3, 2, 4))
我试图得到一个结果,其中我有 replicate_id 的所有组合以及 richness 的总和与相关的复制所以
[1] - 3
[9] - 2
[10] - 4
[1+9] - 5
[1+10] - 7
[9+10] - 6
[1+9+10] - 9
最终,我不关心replicate_id,只希望结果输出类似于:
output<- data.frame ("n.replicates"=c("1", "1", "1", "2", "2", "2", "3"),
"richness"= c(3, 2, 4, 5, 7, 6, 9))
我在一个嵌套的 for 循环中使用了这个,因为我有好几天的相同数据。注意:这意味着复制 id 的长度每天都在变化(在示例中我只有三个,但依赖的数量越来越少)。我似乎已经尝试了一百万件事。这是我用来获取组合的方法:
library(gtools)
for (i in 1:length(richness$replicate_id)){
combs <- data.frame(combinations (length(richness$replicate_id), i, richness$replicate_id))}
但是在那之后我尝试的一切都失败了,我尝试创建行值的向量,然后总结如果 replicate_id 在行值向量中但无济于事。
任何帮助将不胜感激,希望这有意义吗?除了遇到问题之外,我还在纠结如何表述问题。
【问题讨论】:
标签: r for-loop combinations