问题描述
我正在尝试使用 partykit 中的 mob() 实现基于模型的决策树,并使用 loss() 函数拟合局部回归。我的代码如下:
library(partykit)
dataset = read.csv2('Women.csv')
formula = as.formula(Blood.systolic ~ height + weight | height + weight)
fit_func = function(y,x = NULL,start = NULL,weights = NULL,offset = NULL,...,estfun = FALSE,object = FALSE) {
object = loess(y~x,control=loess.control(surface='direct'),weights = weights,...)
}
tree = mob(formula = formula,data = dataset,fit=fit_func,minsize=5000)
当我运行这个时,我收到以下错误:
simpleLoess(y,x,w,span,degree = degree,parametric = parametric,: 外部函数调用中的 NA/NaN/Inf (arg 2)
数据集是干净的,只包含 Blood.systolic、height 和 weight 三列 我试过的:
- 检查数据中是否有na/nan/inf:s,没有
- 尝试了为 https://cran.r-project.org/web/packages/partykit/vignettes/mob.pdf 中指定的 mob() 提供 fit() 函数的不同替代方法
- 奇怪的是,例如,当我用
Blood.systolic~1 | height + weight
替换公式时,代码会运行(但结果不可用,因为它导致拟合向量为 1:s
有没有人知道如何解决这个问题?
提前致谢,感谢所有帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)