【发布时间】:2017-07-21 17:22:07
【问题描述】:
我是 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
** 更新, 我相信示例中的代码是我想要的。
【问题讨论】:
-
tidydata %>% dplyr::count(value > 0.5)? -
对于每一列,我的意思是。在这个例子中,最后,我会有四个值。
-
tidydata %>% dplyr::count(key, value > 0.5)?如果你不喜欢这种格式,你可以使用tidyr::spreadnext 或类似的东西。 -
使用传播,给出“错误:请提供列名”;您推荐的那个,返回两列,一列逻辑,另一列整数。
-
@Frank - 我修复了矩阵以重现结果;也不确定我的“收集”是否正确制定。谢谢