【问题标题】:ANOVA Table with different number of observations per treatment RANOVA 表,每个处理 R 的观察次数不同
【发布时间】:2019-02-08 20:57:20
【问题描述】:

我正在尝试在 R 中创建一个 Anova 表,其中包含每次处理的观察次数不同的数据,但我只知道如何在所有处理的观察次数相同的情况下执行此操作。任何帮助,将不胜感激。

设置我的数据集后,我尝试使用:

> tmA=tm = gl(k, 1, nA*k, factor("A")) 
> tmB=tm = gl(k, 1, nB*k, factor("B")) 
> tmC=tm = gl(k, 1, nC*k, factor("C")) 
#nA, nB, nC represent number of observations per treatment for treatments A, B, C respectively 
tm=c(tmA, tmB, tmC, tmD, tmE)
av=aov(r ~ tm)

但我得到一个错误,因为 tm 的可变长度不同

> tmA=tm = gl(k, 1, nA*k, factor("A")) 
> tmB=tm = gl(k, 1, nB*k, factor("B")) 
> tmC=tm = gl(k, 1, nC*k, factor("C")) 
#nA, nB, nC represent number of observations per treatment for                  
treatments A, B, C respectively 
tm=c(tmA, tmB, tmC, tmD, tmE)
av=aov(r ~ tm)
Error in model.frame.default(formula = r ~ tm, drop.unused.levels =      
TRUE) : 
variable lengths differ (found for 'tm')

【问题讨论】:

标签: r anova


【解决方案1】:

对于这个答案,我们假设rArBrC 是三个向量。 rA 包含治疗 A 的观察结果,rB 包含治疗 B 的观察结果,rC 包含治疗 C 的观察结果。

因此,您可以执行以下操作:

Data <- data.frame(
   Y=c(rA, rB, rC),
   treatment = factor(rep(c("treatA", "treatB", "treatC"), 
   times=c(length(rA), length(rB), length(rC))))
)

然后,您可以对这个新数据框执行方差分析。

anv <- aov(Y~treatment, data=Data)
anova(anv)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2016-08-01
    • 1970-01-01
    相关资源
    最近更新 更多