同一人群中不同变量的双向方差分析

two way anova on different variables in the same population

我想为我的 df 计算 2 向方差分析

df
O  H   Variable  Value
NN HI+       AM 0.03493450
NN HI+       AM 0.00000000
NN HI+       AM 0.09170306
NN HI-       AM 0.05240175
NN HI-       AM 0.05676856
NN HI-       AM 0.06986900
HP HI+       AM 0.30131004
HP HI+       AM 0.43231441
HP HI+       AM 0.34497817
NN HI+       AD 0.03493450
NN HI+       AD 0.00000000
NN HI+       AD 0.09170306
NN HI-       AD 0.05240175
NN HI-       AD 0.05676856
NN HI-       AD 0.06986900
HP HI+       AD 0.30131004
HP HI+       AD 0.43231441
HP HI+       AD 0.34497817

我使用的是单个变量

aov2<-aov(Variable~O+H+O:H, data=df)

我想知道是否可以避免循环并应用(ddply)?

aov 函数在默认情况下并非设计用于执行此操作。您将不得不手动编写变量选择的代码。你可以做的是 data.frame 的子集,这样它就只包含你的变量,你可以使用通用公式

aov(y ~ ., data = df.subsetted)