【发布时间】:2013-04-10 08:51:02
【问题描述】:
我需要对表示为区间(下限和上限)的响应数据执行多元回归分析,我假设该区间是对数正态分布的,关于多个解释变量。
我发现包intReg 可以执行此操作,但没有取得太大成功,因为我不断收到消息。
There were 50 or more warnings (use warnings() to see the first 50)
这些是我的响应数据的日志:
> head(y)
lb ub
[1,] 6.756932 6.852243
[2,] 6.246107 6.400257
[3,] 6.063785 6.246107
[4,] 7.019297 7.093405
[5,] 6.756932 6.852243
[6,] 6.400257 6.533789
以下是我认为最重要的两个变量:
> head(inc_lev)
[1] low high high low high middle
Levels: high low middle
> head(usage)
[1] 12.9 8.6 4.3 17.2 12.9 12.9
然后我尝试运行回归,但我得到的只是:
> intreg<-intReg(y~inc_lev+usage, data=data)
There were 50 or more warnings (use warnings() to see the first 50)
Warning messages:
1: In Sys.setlocale("LC_COLLATE", loc) :
OS reports request to set locale to "" cannot be honored
等等……
所以我的问题是:1)这里有什么问题,2)我做错了什么,3)还有其他方法可以在 R 中执行区间回归吗?
感谢您的帮助!
【问题讨论】:
-
如果你运行
Sys.setlocale(category="LC_COLLATE"),它会说什么?另外,尽管有警告,您是否得到了结果? -
当我运行你的命令时,我得到
[1] "" Warning message: In Sys.setlocale(category = "LC_COLLATE") : OS reports request to set locale to "" cannot be honored。我也没有得到任何结果。 -
你确定吗?试试
summary(intreg)。该功能并没有停止,它只是发出警告。据我了解,此警告是关于您的系统语言环境和 R 之间的一些不兼容。查看您的系统(Windows?)中设置了哪些语言环境(区域设置?),以及是否“。”在那里用作小数。 -
好吧,你是对的。我确实得到了对两个变量进行更简单回归的结果,但是当我包含所有解释变量时出现了另一个错误。
summary(intreg) Error in class(coefValues) <- c("coef.intReg", class(coefValues)) : attempt to set an attribute on NULL -
我收到了同样的错误信息。你有没有发现问题是什么?
标签: r regression intervals linear-regression