R:忽略计算奇异的情况

时间:2016-07-01 05:35:18

标签: r

我有大量的预测变量,我正在尝试对它们进行各种变换,同时拟合强大的线性模型。这些组合中的一些产生计算奇异系统。我想知道如何识别这些系统?我尝试了以下内容(请注意,这是故意使其失败的愚蠢行为):

xx <- data.frame(y = rnorm(100), x = (1:100), z = 2*(1:100))
zz <- try(rlm(y ~ x + z, data = xx))
Error in rlm.default(x, y, weights, method = method, wt.method = wt.method,  : 
  'x' is singular: singular fits are not implemented in 'rlm'
length(intersect(class(zz), "try-error")) == 1
[1] TRUE

然而,它不起作用。从某种意义上说,返回会打破运行它的循环。有关如何处理这个问题的任何想法?再次感谢!

1 个答案:

答案 0 :(得分:0)

这是一个多媒体的明显案例。

>library(usdm)
>a<-as.data.frame(cbind(xx$x,xx$z))
>vif(a)
     Variables VIF
 1        V1   Inf
 2        V2   Inf

有多种方法可以从数据中删除多重性。岭回归是一种很好的方法。

1.请参考Predictions of ridge regression in R

2.Principal Component analysis。 参考 约翰逊&amp; Wichern(2001)。 应用多变量统计分析(第6版)。 Prentice Hall。