2017-03-06 5 views
-1

どのようにすることができます私は、以下のデータセット内のすべての従属変数をループaov()機能:R機能はvarialbles

set.seed(101) 
dat <- data.frame(response = rnorm(10, 5, 2), 
       gender = sample(c(0,1), 10, replace = TRUE), 
       factorA = sample (c(1:4), 10, replace = TRUE), 
       factorB = sample(c(letters[1:3]), 10, TRUE) 
> dat 
response gender factorA factorB 
4.347927  1  2  b 
6.104924  1  2  b 
3.650112  0  1  c 
5.428719  1  1  a 
5.621538  1  3  b 
7.347933  1  4  a 
6.237580  0  1  a 
4.774531  0  4  c 
6.834057  0  1  c 
4.553481  1  4  a 
私が取得したいと思い

ストアなど、すべての従属変数のためのaov()出力(

返し
aov.factorA <- aov(dat$response ~ dat$factorA) 
summary(aov.factorA) 

aov.factorB)によって製造されたもののような
  Df Sum Sq Mean Sq F value Pr(>F) 
dat$factorA 1 0.008 0.0077 0.005 0.945 
Residuals 8 12.287 1.5359  
+0

これは何か? 'res < - lapply(c(" factorA "、" factorB ")、function(x)summary(aov(dat $ response〜dat [、x])))' – zx8754

+0

まさに!期待される出力が得られます。 – rsl

答えて

1

lapplyを変数の名前と組み合わせると、このトリックが実行されます。

dependentvars <- c("factorA", "factorB") 
aov_list <- lapply(dependentvars, function(x) {summary(aov(dat$response ~ dat[, x]))}) 

aov_listdependentvarsでの名前と同じ順序で、あなたの変数のためのaov要約が含まれています。