gpt4 book ai didi

R:交互效果中的特殊对比

转载 作者:行者123 更新时间:2023-12-04 12:17:07 24 4
gpt4 key购买 nike

在 2 向方差分析的背景下,我想在另一个因素(物种 A、物种 B)的水平内输入一个因素(10、20、30 度)的对比度水平。这假设交互效应显着,因此不能简单地对温度主效应进行对比。

我曾尝试在 EZanova、multcomp 和 phia 中执行此操作,但一直无法找出有效的语法。我错过了允许这样做的包吗?

对比度和系数

对比 1:物种 A 的 10 度与 20 度和 30 度不同吗?
物种:温度 (2,-1,-1,0,0,0)
对比 2:物种 B 的 10 度与 20 度和 30 度不同吗?
种类:温度 (0,0,0,2,-1,-1)
对比3:物种 A 的 10 度与物种 B 的 20 和 30 度不同吗?
物种:温度 (2,0,0,0,-1,-1)

species<-rep(c("speciesA","speciesB"),each=12)
temp<-rep(rep(c("10","20","30"),each=4),2)
y<-rnorm(24,5,3)
(result<-anova(lm(y~species*temp)))

最佳答案

它是 base-R 的一部分。见?contrasts页。我将说明第一个要求的对比;另外两个应该很简单。我假设您希望单独计算这些对比度 p 值,因此我使用 how.many将对比构造限制为单个比较的参数。否则你会得到 5 个对比,因为默认情况下 contrasts函数试图建立一个正交对比的跨越集:

set.seed(123)
species <- rep(c("speciesA","speciesB"),each=12)
temp <- rep(rep(c("10","20","30"),each=4),2)
y<-rnorm(24,5,3)

intvar <- interaction(species, temp) # create an interaction variable
?contrasts

需要知道哪些级别是正确排序对比度值的:
> levels(intvar)
[1] "speciesA.10" "speciesB.10" "speciesA.20" "speciesB.20" "speciesA.30"
[6] "speciesB.30"

因此,这应该在 A 物种之间建立 10 与 20 或 30 个角度的对比:
 contrasts(intvar, how.many=1) <- c(2,0,-1,0,-1,0)
anova(lm(y~intvar) )
#------------
Analysis of Variance Table

Response: y
Df Sum Sq Mean Sq F value Pr(>F)
intvar 1 0.013 0.0129 0.0015 0.9695
Residuals 22 190.306 8.6503

您似乎还处于学习 R 的早期阶段,因此我建议您学习构建数据帧以通过 data= - 回归函数的参数,而不是在工作空间中处理“松散”的对象,请不要养成使用 attach 的坏习惯.

关于R:交互效果中的特殊对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32533236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com