专家,
我想就我目前正在处理的数据集的分析征求意见。
在实验中,受试者在反应时间任务中进行了测试(RT 作为因变量)。以随机顺序在两种治疗条件下对每个受试者进行测试(因素“A”:安慰剂与药物)。同样对于第三次会话中的受试者,测量了血液值的水平(数字协变量“B”)。该协变量“B”在受试者体内是稳定的,并且被认为是因子“A”影响的预测因子。此外,受试者根据他们的基因型(因子'C')进行分组。我还在因子“D”中编码了第一个或第二个测试,以便模拟潜在的学习效果。
请在下面找到一些示例代码。
# some example data
subject <- c(1,1,2,2,3,3,4,4)
A <- rep(c('placebo', 'drug'), 4) # factor A
B <- c(1,1,4,4,8,8,12,12) # covariate B
C <- c('x','x','y','y','x','x','y','y')
D <- c('1st','2nd','1st','2nd','2nd','1st','2nd','1st')
RT <- c(2,12,1,16,2,26,3,39)
data <- as.data.frame(cbind(subject, A, B, C, D, RT))
data$B <- as.numeric(as.character(data$B))
data$RT <- as.numeric(as.character(data$RT))
我会知道如何使用 lm() 估计协变量“B”的整体效果,以及如何使用 aov() 估计因子“A”的整体效果。
# Model effect of covariate B using lm()
data.lm <- lm(RT~B, data=data)
summary(data.lm)
# Model effect of factor A using aov()
data.aov <- aov(RT~A+Error(subject/A),data=data)
summary(data.aov)
从评论中,我了解到用于测试 A、B 及其相互作用的正确 ANCOVA 模型如下:
# ANCOVA for effects of A, B and their interaction
data.aov2 <- aov(RT~ B * A + Error(subject/A), data = data)
summary(data.aov2)
但是,如果我想查看 B、C 及其交互,summary() 的输出不再提供意义,这使我假设模型不正确:
# ANOVA for effects B, C and their interaction
data.aov3 <- aov(RT ~ B * C + Error(subject), data=data)
summary(data.aov3)
当然,我也想知道是否可以估计最全面的模型,包括所有因素(A、B、C、D)及其相互作用(?)。可能数据集太小而无法估计。但是我怎么知道我的数据是否足以估计如此复杂的模型呢?
# ANOVA for effects B, C and their interaction
data.aov4 <- aov(RT ~ A * B * C * D + Error(subject/A), data=data)
summary(data.aov4)
另外我想知道是否可以以相同的方式实现相同的模型,以防因变量“RT”有重复测量?例如:
data2 <- rbind(data, data, data, data, data)
data2$RT <- rnorm(nrow(data2))
# ANOVA for effects B, C and their interaction
data.aov5 <- aov(RT ~ A * B * C * D + Error(subject/A), data=data2)
summary(data.aov5)
对此的任何帮助(包括在 R 中实现的提示以及文献)都将受到高度赞赏。
非常感谢!小丑