Переформулировать в R log(Y+1)
Я работаю над набором данных, где мне нужно создать формулу для динамической передачи в lm. Итак, я использую переформулировать, чтобы сделать это.
formula = reformulate(termlabels = c('feature1', 'feature2', 'feature3'), response="y")
у непрерывно.
Это дает мне формулу как y ~ feature1+feature2+feature3
Однако я хочу, чтобы формула была log(y+1) ~ feature1+feature2+feature3
Как мне сделать это с помощью переформулирования?
1 ответ
Решение
Передайте ответ в виде выражения в кавычках:
x <- c("feature1", "feature2", "feature3")
reformulate(x, response=quote(log(y+1)))
Или вы можете просто построить формулу вручную. Это то, что reformulate
делает под капотом.
formula(paste("log(y + 1) ~", paste(x, collapse="+")))