我有一个数据集,其中包含多个加起来为 1 的比例。我对这些比例沿梯度的变化感兴趣(参见下面的示例数据)。
gradient <- 1:99
A1 <- gradient * 0.005
A2 <- gradient * 0.004
A3 <- 1 - (A1 + A2)
df <- data.frame(gradient = gradient,
A1 = A1,
A2 = A2,
A3 = A3)
require(ggplot2)
require(reshape2)
dfm <- melt(df, id = "gradient")
ggplot(dfm, aes(x = gradient, y = value, fill = variable)) +
geom_area()
附加信息: 它不一定是线性的,我这样做只是为了便于示例。计算这些比例的原始计数也是可用的。真实数据集包含更多变量加起来为 1(例如 B1、B2 和 B3、C1 到 C4 等) - 所以多变量解决方案的提示也会有帮助......但现在我会坚持单变量统计方面。
问题: 如何分析这样的数据?我已经阅读了一些内容,也许多项式模型或 glm 适合?- 如果我运行 3(或 2)个 glms,我如何结合预测值总和为 1 的约束?我不想只绘制这类数据,我还想做更深入的回归分析。我最好想使用 R - 我怎样才能在 R 中做到这一点?