我在使用 polr 功能时遇到了一些麻烦。
这是我拥有的数据的一个子集:
# response variable
rep = factor(c(0.00, 0.04, 0.06, 0.13, 0.15, 0.05, 0.07, 0.00, 0.06, 0.04, 0.05, 0.00, 0.92, 0.95, 0.95, 1, 0.97, 0.06, 0.06, 0.03, 0.03, 0.08, 0.07, 0.04, 0.08, 0.03, 0.07, 0.05, 0.05, 0.06, 0.04, 0.04, 0.08, 0.04, 0.04, 0.04, 0.97, 0.03, 0.04, 0.02, 0.04, 0.01, 0.06, 0.06, 0.07, 0.08, 0.05, 0.03, 0.06,0.03))
# "rep" is discrete variable which represents proportion so that it varies between 0 and 1
# It is discrete proportions because it is the proportion of TRUE over a finite list of TRUE/FALSE. example: if the list has 3 arguments, the proportions value can only be 0,1/3,2/3 or 1
# predicted variable
set.seed(10)
pred.1 = sample(x=rep(1:5,10),size=50)
pred.2 = sample(x=rep(c('a','b','c','d','e'),10),size=50)
# "pred" are discrete variables
# polr
polr(rep~pred.1+pred.2)
我给你的子集工作正常!但是我的整个数据集和其中的一些子集不起作用!除了数量之外,我在我的数据中找不到与该子集不同的任何内容。所以,这是我的问题:在级别数方面是否有任何限制,例如会产生以下错误消息:
Error in optim(s0, fmin, gmin, method = "BFGS", ...) :
the initial value in 'vmin' is not finite
和通知消息:
glm.fit: fitted probabilities numerically 0 or 1 occurred
(我必须将这两条信息翻译成英文,所以它们可能不是 100% 正确的)
我有时只收到通知消息,有时一切都很好,具体取决于我使用的数据子集。
我的 rep 变量总共有 101 个信息级别(除了我描述的那种数据之外什么都不包含)
所以这是一个可怕的问题,因为我不能给你我的完整数据集,而且我不知道问题出在哪里。多亏了这些信息,您能猜出我的问题出在哪里吗?
谢谢