Как написать функцию на R, чтобы автоматизировать выбор важных функций?

#r

#r

Вопрос:

Как написать функцию для автоматизации этих процессов:

  1. Выбор важной функции с порогом 0,05
  2. Выбор трех наиболее важных функций

Пока у меня это, но оно не работает. Я могу перечислить функции, но не могу написать функцию для выполнения обоих!

 lm.fit <- glm(formula = Salary ~., data=train, family = binomial)
glm.coef.sig <- data.frame(summary(glm.fit)$coef[summary(glm.fit)$coef[,4] < .05, 4])
glm.coef.sig
  

Комментарии:

1. AFAIK, такая функция уже существует в R — она называется «пошаговая регрессия». Вы пробовали step() ?

Ответ №1:

Вот пример рабочего процесса:

 features <- "."
repeat{
  lm(formula=paste0("wt ~ ", paste0(features, collapse=" ")), mtcars) -> lm.fit
  # get the coefficients that are significant
  summary(lm.fit)$coef[-1, 4] <.05 -> summ
  # check if the selected features are the features we already had if so break
  # if not change feature to selected features
  if(identical(features, names(summ)[summ])){
    break
  } else features = names(summ)[summ]
}
  

Комментарии:

1. Спасибо. Я пробовал, но я думаю, что я немного неопытен, чтобы сделать это, учитывая мое ограниченное взаимодействие с R. возможно ли написать эту функцию в деталях, посмотрев на мой вопрос posetd!