Я получаю Error: $ operator not defined for this S4 class
, когда пытаюсь запустить ctree
из party package
, но только если формула написана как строка, которую я преобразовываю с помощью as.formula()
.R - as.formula() не работает с ctree {party}?
Ниже приведен пример:
#This works fine :
y <- ctree(formula = quotation ~ minute + temp, data=test[[1]], controls = ctree_control(mincriterion = 0.99))
#While this doesn't :
x <- "ctree(formula = quotation ~ minute + temp, data=test[[1]], controls = ctree_control(mincriterion = 0.99))"
y <- as.formula(x)
Error: $ operator not defined for this S4 class
Моя конечная цель состоит в том, чтобы создать функцию, которая перебирает список test
создать несколько деревьев.
Любая идея?
Параметр 'as.formula' относится только к формуле части. Таким образом, это должно быть 'x <- as.formula (quotation ~ minute + temp)'; и строка после 'y <- ctree (formula = x, ...)'. Например, если я использую набор данных iris, это будет: 'x1 <- as.formula (Species ~ Petal.Length + Petal.Width); y1 <- ctree (formula = x1, data = iris)' – chappers
Спасибо за ваш ответ, но как 'ctree' рассматривается, если не как формула? Мне нужно выполнить итерацию за пределами того, что вы описали как x. –
Я бы порекомендовал вам проверить пакет 'caret'. Он имеет функцию «train» с аргументом 'tuneGrid', который звучит так, как вы. – chappers