我是dplyr世界的新手 - 很抱歉,如果问题听起来很简单, 基本上,我有兴趣计算每列大于0.5的条目数。如果它们低于0.5,我认为它们为零。我不介意有一个存储这个数字的向量。
这是示例
messy <- data.frame(samples = c("s1", "s2", "s3", "s4"),
o1 = c(0.5, 0.7, 0.8, 0.6),
o2 = c(0.2, 0.8, 0.8, 0.1),
o3 = c(0.9, 0.2, 0.0, 0.1),
o4 = c(0.1, 0.6, 0.4, 0.4))
bb <- gather(messy, otu, counts, o1:o4)
bb %>% filter(counts > 0.5) %>% group_by(otu) %>% summarize(fre=n())
bb$fre/4
**更新, 我相信示例中的代码是我想要的。
答案 0 :(得分:1)
你可以colSums(messy > 0.5)
。
这不使用 dplyr ,但它非常简单有效。