2016-01-22 63 views
0

我执行重复mesuare Anova,我有任何变量(4或更多),当我这样做时,我必须分别对每个变量进行anova。 它的不方便对我来说,例如这里的代码rep.anova 2个变量 - tember_body和SAD(我有8项措施)重复mesuare Anova所有变量在R

library("car") 
tabl20=read.csv("path to dataset",sep=";",dec=",") 
ageLevels <- c(1, 2, 3,4,5,6,7,8) 
ageFactor <- as.factor(ageLevels) 
ageFrame <- data.frame(ageFactor) 
ageBind <- cbind(tabl20$temper_body_v0, 
       tabl20$temper_body_v1, 
       tabl20$temper_body_v2, 
       tabl20$temper_body_v3, 
       tabl20$temper_body_v4, 
       tabl20$temper_body_v5, 
       tabl20$temper_body_v6, 
       tabl20$temper_body_v7) 
ageModel <- lm(ageBind ~ 1) 
analysis <- Anova(ageModel, idata = ageFrame, idesign = ~ageFactor) 
summary(analysis) 
###### 
tabl20=read.csv("path to data",sep=";",dec=",") 
ageLevels <- c(1, 2, 3,4,5,6,7,8) 
ageFactor <- as.factor(ageLevels) 
ageFrame <- data.frame(ageFactor) 
ageBind <- cbind(tabl20$SAD_v0, 
       tabl20$SAD_v1, 
       tabl20$SAD_v2, 
       tabl20$SAD_v3, 
       tabl20$SAD_v4, 
       tabl20$SAD_v5, 
       tabl20$SAD_v6, 
       tabl20$SAD_v7) 

ageModel <- lm(ageBind ~ 1) 
analysis <- Anova(ageModel, idata = ageFrame, idesign = ~ageFactor) 
summary(analysis) 

如何在执行一次rep.measure ANOVA所有变量,所有的,而不是做分别进行每个变量分析。

+0

看起来,这将是构建一个动态公式以在任何想要的变量组合上运行* ANOVA *的问题。我建议你发布一些示例数据或使用'mtcars'数据重现你的例子,这样可以更容易地贡献出潜在的解决方案。 – Konrad

+0

谢谢,我如何附加我的数据集,它很小? – psysky

+0

看看[这个讨论](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),它充满了关于如何产生一个可重复问题的例子。 – Konrad

回答

0

我找到答案,也许是有人

library(car) 
tabl20=read.csv("c:/path/,sep=";",dec=",") 
ageLevels <- c(1, 2, 3,4,5,6,7,8) 
ageFactor <- as.factor(ageLevels) 
ageFrame <- data.frame(ageFactor) 

tabl20 <- tabl20[, order(names(tabl20))] 

measures <- function(data = tabl20, n = 4) { 
    list <- list(n) 
    for(i in 0:3) {list[[i+1]] <- as.matrix(cbind(data[, 8*i + 1:8])) 
    } 
    list 
} 

measures_list <- measures() 

models <- lapply( 
    measures_list, function(x) { 
    ageModel <- lm(x ~ 1) 
    Anova(ageModel, idata = ageFrame, idesign = ~ageFactor) 
    }) 

有用的,但我不知道如何对所有变量

,如果我这样做 图(模型)

进行地块我得到这个错误

Error in xy.coords(x, y, xlabel, ylabel, log) : 
    'x' is a list, but does not have components 'x' and 'y' 

也许任何人promt我,如何创建plo t对于所有变量