gpt4 book ai didi

r - 使用派对包 "contrasts cannot be applied ...."和 "object of type closure...."时出现奇怪错误

转载 作者:行者123 更新时间:2023-12-02 00:24:45 25 4
gpt4 key购买 nike

我正在使用 party包裹。

当我运行时:

tree1 <- mob(incarcerated~priors+opens+concrearr+postrearr+anyrearr+postconvfel+postconvmis+
ag_vfo+ag_cla2+in_custody |PRIOR_FELONY_ARREST ,
data = jamaal,
control = ctrl,
model = glinearModel,
family = binomial)

我得到了错误

Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :   
contrasts can be applied only to factors with 2 or more levels

但我检查了一下,每个因子变量至少有 2 个水平。

然后我尝试了一个更简单的树

treetest <- mob(incarcerated~priors|in_custody, 
data = jamaal,
control = ctrl,
model = glinearModel,
family = binomial)

并得到了臭名昭著的 R 错误消息之一

Error: object of type 'closure' is not subsettable

感谢任何帮助

更新我找到了第一个错误的来源(这是我使用 factor() 的方式的问题),但不是第二个。此外,rpart 可以毫无问题地处理相同的数据。

数据是保密的,但我会与客户核实是否可以发布一小部分数据

进一步更新这是一个包含合成数据的小示例:

priors <- c(rep('Y', 5), rep('N', 5))
incarcerated <- rep(c('Y', 'N'), 5)
in_custody <- rep(c(rep('Y', 3), rep('N', 2)),2)
testdata <- data.frame(cbind(priors, incarcerated, in_custody))
treetest <- mob(incarcerated~priors|in_custody, data = testdata,
model = glinearModel, family = binomial)

给出了同样的错误。

最佳答案

party 正在寻找 binomial() 调用的结果,而不是 binomial 函数或字符串 "binomial"。 (在我看来,基础 R 中的 glm() 函数通过接受这三个中的任何一个作为可接受的变体而使事情变得非常困惑。)

priors <- c(rep('Y', 5), rep('N', 5))
incarcerated <- rep(c('Y', 'N'), 5)
in_custody <- rep(c(rep('Y', 3), rep('N', 2)),2)
testdata <- data.frame(cbind(priors, incarcerated, in_custody))

library(party)
treetest <- mob(incarcerated~priors|in_custody, data = testdata,
model = glinearModel, family = binomial())

事后看来,这个错误消息至少在某种程度上提供了信息——它告诉我们寻找一个函数,它被传递到某个地方,R 期望一个具有可以提取元素的对象......

关于r - 使用派对包 "contrasts cannot be applied ...."和 "object of type closure...."时出现奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9244305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com