R'中的潜在缺陷;从函数环境运行时,是否使用s`polr`函数?
我可能在R'中的潜在缺陷;从函数环境运行时,是否使用s`polr`函数?,r,function,debugging,regression,R,Function,Debugging,Regression,我可能在R中发现了MASS库的某种bugpolr函数(有序/多元回归)。问题似乎与在摘要对象上使用coef()有关,但可能不是 问题发生在以下类型的函数中: pol_me <- function(d){ some_x <- d[,1] mod <- polr(some_x ~ d[,2]) pol_sum <- summary(mod) return(pol_sum) } 我们得到了错误 Error in eval(ex
R
中发现了MASS
库的某种bugpolr
函数(有序/多元回归)。问题似乎与在摘要
对象上使用coef()
有关,但可能不是
问题发生在以下类型的函数中:
pol_me <- function(d){
some_x <- d[,1]
mod <- polr(some_x ~ d[,2])
pol_sum <- summary(mod)
return(pol_sum)
}
我们得到了错误
Error in eval(expr, envir, enclos) : object 'some_x' not found
我认为这在逻辑上不应该发生在这一点上。事实上,当我们定义替代函数时,模型命令被数值因变量的线性模型替换,即
mod <- lm(as.numeric(some_x) ~ d[,2])
modsummary(polr(dat[,1]~dat[,2])
返回半错误消息重新拟合以获得Hessian
,这是错误的原因polr
的参数Hess=T
将解决您的问题。(?polr
说Hess:是否应返回Hessian(观察到的信息矩阵)是合乎逻辑的。如果您打算在fit上调用summary或vcov,请使用此选项。)
pol\u me我需要从pol\u me
的环境运行polr
。我可能会给你mod,非常感谢。这就是解决办法。
Error in eval(expr, envir, enclos) : object 'some_x' not found
mod <- lm(as.numeric(some_x) ~ d[,2])
pol_me <- function(d){
some_x <- d[,1]
mod <- polr(some_x ~ d[,2], Hess = T) # modify
pol_sum <- summary(mod)
return(pol_sum)
}