R - as.formula() 不与 ctree {party} 一起工作?
R - as.formula() not working with ctree {party}?
当我尝试 运行 从 party package
得到 ctree
时,我得到 Error: $ operator not defined for this S4 class
,但只有当公式被写为我使用 [ 转换的字符串时=15=].
下面的例子:
#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
以创建多棵树。
有什么想法吗?
ctree
是函数而不是公式。 formula
是函数 '~'
(代字号)生成的对象的 class。您可以从 help('~')
和 help('formula')
.
了解有关公式的更多信息
最常见的使用as.formula
的方法是将表示公式语法的字符串转换为class公式的对象。像 as.formula('y ~ x')
这样的东西。另外,检查 class(as.formula(y~x))
.
在您的例子中,您将表示函数 ctree
的字符串保存到变量 x。函数ctree
只包含表示公式语法的字符串(quotation ~ minute + temp
)但不能强制转换为公式(它不表示公式,它只是包含公式语法字符串)因为它不遵循公式语法。
如果你想从文本中执行一个函数,你需要使用 eval(parse(text = x))
尽管不鼓励这种技术..
当我尝试 运行 从 party package
得到 ctree
时,我得到 Error: $ operator not defined for this S4 class
,但只有当公式被写为我使用 [ 转换的字符串时=15=].
下面的例子:
#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
以创建多棵树。
有什么想法吗?
ctree
是函数而不是公式。 formula
是函数 '~'
(代字号)生成的对象的 class。您可以从 help('~')
和 help('formula')
.
最常见的使用as.formula
的方法是将表示公式语法的字符串转换为class公式的对象。像 as.formula('y ~ x')
这样的东西。另外,检查 class(as.formula(y~x))
.
在您的例子中,您将表示函数 ctree
的字符串保存到变量 x。函数ctree
只包含表示公式语法的字符串(quotation ~ minute + temp
)但不能强制转换为公式(它不表示公式,它只是包含公式语法字符串)因为它不遵循公式语法。
如果你想从文本中执行一个函数,你需要使用 eval(parse(text = x))
尽管不鼓励这种技术..