【发布时间】:2017-06-25 18:27:10
【问题描述】:
我有一个交叉表频率表,其中度量是 CAG,列 A01、A02 等是频率计数。即 13 个 CAG 的 6485 个计数,CAG 14 的 35 个计数。 我想对每一列中的值求和,前提是该行的 CAG 大于或等于模态 CAG 值。然后我将它除以 A01 的总和。这为我提供了大于或等于众数的值的比例。 我已经设法让它为一列工作,但我想在每一列上运行它,使用每一列的相关模式。如有任何帮助,我将不胜感激!
data <- data.frame(CAG = c(13, 14, 15, 17),
A01 = c(6485,35,132, 12),
A02 = c(0,42,56, 4))
mode <- data$CAG[data$A01 == max(data$A01)]
B <- lapply(data[, 2:ncol(data)], function(x) {
sum(x[data$CAG >= mode])
})
prop <- B / sum(data$A01)
【问题讨论】:
-
代码不运行。它是否应该演示它如何在一列中工作?或者这是您在多个专栏上的尝试?我建议对一列进行正确处理,目前尚不清楚模式是否应该始终用于 A01(这就是代码所做的)或者是否应该为每一列重新计算(这就是文本所暗示的。
-
这是我在多个列上的尝试。对于一列: B = mode[1:1]]) prop
标签: r