>str(set)
'data.frame': 1000 obs. of 6 variables:
$ ID : Factor ..
$ a : Factor ..
$ b: Factor ..
$ c: Factor ..
$ dat : num ..
$ contrasts : Ord.factor ..
>X
[1] "a" "b" "c"
for (i in 1 :length(X) ){
my=X[i]
f=as.formula(paste("dat~contrasts*", paste(my,"Error(ID/(contrasts))",sep="+")))
sum = summary( aov (f, data =set))
}
X can be very huge, so was thinking about an apply function instead of for-loop.Is it possible in this case??
I tried this:
apply(
as.matrix(X), 1, function(i){
summary(aov(as.formula(paste("dat~contrasts*",
paste(i, "Error(ID/(contrasts))", sep="+"))), data=set))
}
)
But this makes no sense. Can anyone help me?
This ought to do it:
Note the use of sapply with simplify=FALSE. Using lapply also works, but it doesn't add names to the list components.