通过协变量的相互作用比较回归线的斜率
Compare slopes of regression lines by interaction of covariates
我发现了很多关于该主题的问题,但 none 与我的情况非常相似。这主要是一个一般统计方法问题,但非常感谢任何有关如何在 R 中处理此类数据的有用信息!
这是一项生物学研究,其中我有三个独立的突变,"A, B, and C," 我用它们来创建基因型。对于我的研究设计,我有一个因变量(距离)和一个自变量(负载)。我测量了以下基因型:
Genotypes:
Reference
A
B
C
A:B
A:C
B:C
A:B:C
即我的参考基因型中有 Distance given Load 的背景水平。我想要测试的是每个单独的突变(A、B 或 C)和组合突变(AB、AC、BC、ABC)对给定负载的距离的贡献。我的计划是测试不同基因型产生的回归斜率是否彼此显着不同。这将使我能够确定距离的损失是否是由于负载的附加增加,或者某些基因型在增加负载的情况下是否更快或更慢地丢失距离。
我不确定if/how我可以使用 ANCOVA 或混合效应模型来解决这个问题。
我有一个类似的方法,我可以看到距离如何因基因型而异。在该示例中,我的数据结构如下所示 (csv):
Genotype, Distance, A, B, C
Reference, 15, 0, 0, 0
Reference, 16, 0, 0, 0
A, 15, 1, 0, 0
A, 16, 1, 0, 0
B, 12, 0, 1, 0
B, 11, 0, 1, 0
C, 15, 0, 0, 1
C, 15, 0, 0, 1
AB, 3, 1, 1, 0
AB, 4, 1, 1, 0
AC, 13, 1, 0, 1
AC, 14, 1, 0, 1
BC, 8, 0, 1, 1
BC, 9, 0, 1, 1
ABC, 2, 1, 1, 1
ABC, 2, 1, 1, 1
我测量每个基因型的距离(重复),并使用数据矩阵来指示该基因型具有哪些突变:
所以 A 有 1, 0, 0 表示它有 A,但没有 B,也没有 C; AB 有 1, 1, 0 表示它有 A 和 B,但没有 C。等等...
然后我使用:
lm<-lm(Distance~A*B*C, data=data)
summary(lm)
测试每个突变对距离的贡献,并查看是否有任何交互项(例如 A:B)显着。这使用 A、B 和 C 作为连续变量(违反正态性,但它至少是一种方法)。
非常感谢任何人给我的帮助、见解或指导。应用这种 lm() 方法适用于一个因变量和基因型作为自变量,但是使用基因型(包括相互作用)作为第二个自变量的协变量是我在其他问题中没有看到的。
使用固定效应模型:
fit.null <- lm(Distance ~ A*B*C + Genotype)
fit.alt<- lm(Distance ~ A*B*C * Genotype)
并使用 aov(fit.alt, fit.null)
测试嵌套模型。
假设:足够的功效和同方差性:一个简单的技巧,交叉制表 freqs <- table(A, B, C, Genotype)
并检查 any(freqs) < 5
。低精度意味着低功耗。
使用方差同质性检验的混合效应模拟lme4
(也许用户@BenBolker 可以评论该模型的适用性):
fit.null <- lmer(Distance ~ A*B*C + (1|Genotype))
fit.alt <- lmer(Distance ~ A*B*C + (A*B*C|Genotype))
您不能在此处测试嵌套模型,因为它是对方差分量的测试。像这样测试模型更像是 stats.stackexchange.com
的问题
我发现了很多关于该主题的问题,但 none 与我的情况非常相似。这主要是一个一般统计方法问题,但非常感谢任何有关如何在 R 中处理此类数据的有用信息!
这是一项生物学研究,其中我有三个独立的突变,"A, B, and C," 我用它们来创建基因型。对于我的研究设计,我有一个因变量(距离)和一个自变量(负载)。我测量了以下基因型:
Genotypes:
Reference
A
B
C
A:B
A:C
B:C
A:B:C
即我的参考基因型中有 Distance given Load 的背景水平。我想要测试的是每个单独的突变(A、B 或 C)和组合突变(AB、AC、BC、ABC)对给定负载的距离的贡献。我的计划是测试不同基因型产生的回归斜率是否彼此显着不同。这将使我能够确定距离的损失是否是由于负载的附加增加,或者某些基因型在增加负载的情况下是否更快或更慢地丢失距离。
我不确定if/how我可以使用 ANCOVA 或混合效应模型来解决这个问题。
我有一个类似的方法,我可以看到距离如何因基因型而异。在该示例中,我的数据结构如下所示 (csv):
Genotype, Distance, A, B, C
Reference, 15, 0, 0, 0
Reference, 16, 0, 0, 0
A, 15, 1, 0, 0
A, 16, 1, 0, 0
B, 12, 0, 1, 0
B, 11, 0, 1, 0
C, 15, 0, 0, 1
C, 15, 0, 0, 1
AB, 3, 1, 1, 0
AB, 4, 1, 1, 0
AC, 13, 1, 0, 1
AC, 14, 1, 0, 1
BC, 8, 0, 1, 1
BC, 9, 0, 1, 1
ABC, 2, 1, 1, 1
ABC, 2, 1, 1, 1
我测量每个基因型的距离(重复),并使用数据矩阵来指示该基因型具有哪些突变: 所以 A 有 1, 0, 0 表示它有 A,但没有 B,也没有 C; AB 有 1, 1, 0 表示它有 A 和 B,但没有 C。等等...
然后我使用:
lm<-lm(Distance~A*B*C, data=data)
summary(lm)
测试每个突变对距离的贡献,并查看是否有任何交互项(例如 A:B)显着。这使用 A、B 和 C 作为连续变量(违反正态性,但它至少是一种方法)。
非常感谢任何人给我的帮助、见解或指导。应用这种 lm() 方法适用于一个因变量和基因型作为自变量,但是使用基因型(包括相互作用)作为第二个自变量的协变量是我在其他问题中没有看到的。
使用固定效应模型:
fit.null <- lm(Distance ~ A*B*C + Genotype)
fit.alt<- lm(Distance ~ A*B*C * Genotype)
并使用 aov(fit.alt, fit.null)
测试嵌套模型。
假设:足够的功效和同方差性:一个简单的技巧,交叉制表 freqs <- table(A, B, C, Genotype)
并检查 any(freqs) < 5
。低精度意味着低功耗。
使用方差同质性检验的混合效应模拟lme4
(也许用户@BenBolker 可以评论该模型的适用性):
fit.null <- lmer(Distance ~ A*B*C + (1|Genotype))
fit.alt <- lmer(Distance ~ A*B*C + (A*B*C|Genotype))
您不能在此处测试嵌套模型,因为它是对方差分量的测试。像这样测试模型更像是 stats.stackexchange.com
的问题