Можно ли использовать функцию AOV в цикле for? - PullRequest
0 голосов
/ 13 июня 2019

Я хочу вычислить новое значение интенсивности дыма и некоторые другие факторы в кадре данных, названном «rs_93». Оказалось, что есть некоторые проблемы при использовании функции aov и цикла loop одновременно.

Я использовал str(rs_93) и class(rs_93), чтобы проверить, что _rs_93_ является фреймом данных, и использовал is.atomic(rs_93), чтобы проверить, что это не атомный вектор.

for (i in 4:13){
  a<-cor(rs_93$smoke_rate,rs_93[,i])
  print(a)
  b<-summary(aov(rs_93$smoke_rate,rs_93[,i]))
  print(b)
}
Error: $ operator is invalid for atomic vectors

1 Ответ

0 голосов
/ 13 июня 2019

aov отличается от cor, поскольку принимает переменные в виде формулы, а не x, y, как в cor, см. ?aov

формула Формула с указанием модели

Следовательно, будет работать что-то подобное ниже, mtcars используется для воспроизводимости

for(i in 3:6){
   print(cor(mtcars$mpg,mtcars[,i]))
   print(summary(aov(as.formula(paste('mpg','~',colnames(mtcars[i]))), data=mtcars)))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...