Использование параметра функции и передача его в формулу lm - PullRequest
1 голос
/ 08 ноября 2019

Я пытаюсь создать функцию, которая передает параметр в качестве зависимой переменной, а независимые переменные остаются неизменными.

Я пытался использовать {{}}, но вижу проблему как нечто вродениже, если можно было выбрать select.

test_func <- function(dataframe, dependent){
  model <- tidy(lm({{ dependent }} ~ . - select(contains("x")), data = dataframe))

  return(model)
}

test_func(datasets::anscombe, x1)

Функция должна передаваться как функция (в зависимости от данных) для одной модели.

1 Ответ

1 голос
/ 08 ноября 2019

Использование reformulate().

f <- function(d, y) lm(reformulate(names(d)[grep("x", names(d))], response=y), data=d)

f(datasets::anscombe, "y1")
# Call:
#   lm(formula = reformulate(names(d)[grep("x", names(d))], response = y), 
#      data = d)
# 
# Coefficients:
#   (Intercept)           x1           x2           x3           x4  
#       4.33291      0.45073           NA           NA     -0.09873  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...