Как я могу реализовать индексирование столбцов при определении функции в R? - PullRequest
0 голосов
/ 22 января 2020

Для проекта я пытаюсь определить функцию для Anova во всех столбцах моей таблицы данных. Но я всегда получаю сообщение об ошибке «Ошибка в [.data.frame` (data,, x): выбраны неопределенные столбцы») и не могу понять это. Также я не совсем уверен, сработает ли функция печати. ​​

type_anova = function(feature){
  b=aov(feature~type, wine=df)
  F=summary(b)[[1]][["Pr(>F)"]]
  p=summary(b)[[1]][["F value"]]
  if (p <= 0.05){
    message="Reject"
  } else{
    message="Accept"
  }
  print(paste("F Statistics: ", F,"p-value: ", p,"Null Hypothesis: ",message))
}
type_anova(pH)

1 Ответ

0 голосов
/ 22 января 2020

Попробуйте эту функцию:

type_anova <- function(df, feature, type) {
   b=aov(reformulate(type, feature), df)
   F=summary(b)[[1]][["Pr(>F)"]][1]
   p=summary(b)[[1]][["F value"]][1]
   if (p <= 0.05)   message="Reject"
   else  message="Accept"
   cat("\nF Statistics: ", F," p-value: ", p," Null Hypothesis: ",message)
}

Использование ее на mtcars наборе данных

type_anova(mtcars, "am", "cyl")
#F Statistics:  0.0022  p-value:  11  Null Hypothesis:  Accept
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...