【发布时间】:2017-06-09 14:27:21
【问题描述】:
我对 R 比较陌生,我正在尝试简化 ANOVA 脚本以从表中读取一组因素名称,并对这些因素之间的相互作用进行统计测试。
我的基本问题是如何在调用 aov 时不必手动编写因子名称,如下所示:
aov2 <- aov(no_gap ~ Diag*Age, data=data)
但是,相反,要索引一个包含感兴趣因素名称的变量,如下所示(但这不起作用):
aov2 <- aov(get(vars[5]) ~ get(vars[1])*get(vars[2]), data=data)
这是我的整个脚本:
#Load data
outName <- read_file("fileNameToWrite.txt")
data <- read.table(header=TRUE, "testDataTable.txt",stringsAsFactors = TRUE)
vars <- colnames(data)
# Make sure subject column is a factor
cols <- c(vars[1:2])
data[,cols] <- data.frame(apply(data[cols], 2, as.factor))
##
# 2x2 between:
aov2 <- aov(get(vars[5]) ~ get(vars[1])*get(vars[2]), data=data)
aov2 <- aov(no_gap ~ Diag*Age, data=data)
aov2 <- aov(apply(vars[5]) ~ get(vars[1])*get(vars[2]), data=data)
summary(aov2)
作为参考,这是“vars”在评估时的样子:
> vars
[1] "subject" "Diag" "Age" "gap" "no_gap"
非常感谢您的帮助!!
【问题讨论】: