我在 R 中有这两个列表:
y=c(420.5568, 693.6305, 420.5568, 946.9677, 499.1046, 946.9677)
x=c(32, 29, 32, 27, 31, 27)
我正在尝试使用以下代码将此数据拟合到
rlm
模型中:fit_new = (rlm(log(tail(y, 3)) ~ poly( tail(x,3), 2, raw=TRUE )))
响应是这个错误:
Error in rlm.default(x, y, weights, method = method, wt.method = wt.method, :
'x' is singular: singular fits are not implemented in 'rlm'
最佳答案
结束我之前的评论:输入数据有问题。即,存在重复对 (x, y)
。回归算法通常适用于矩阵,如果矩阵具有相同的行或列,则其行列式为零。一些算法可以解决这个问题;有些没有。
这是针对您的数据的最小临时修复:使用 unique
删除重复项。但要小心:作为一般解决方案,您必须删除重复的对,而不仅仅是 x
和 y
中的重复项。
关于R rlm 模型错误 : 'x' is singular: singular fits are not implemented in 'rlm' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32906388/