[R] Robust multivariate regression with rlm
Markku Mielityinen
mmmm at st.jyu.fi
Thu Mar 24 08:19:48 CET 2005
Dear Group,
I am having trouble with using rlm on multivariate data sets. When I
call rlm I get
Error in lm.wfit(x, y, w, method = "qr") :
incompatible dimensions
lm on the same data sets seem to work well (see code example). Am I
doing something wrong?
I have already browsed through the forums and google but could not find
any related discussions.
I use Windows XP and R Version 2.0.1 (2004-11-15) (if that makes a
difference).
Example code:
> Mx
[,1] [,2]
[1,] 49.10899 45.75513
[2,] 505.92018 48.81037
[3,] 973.30659 50.28478
[4,] 55.99533 508.94504
[5,] 964.96028 513.69579
[6,] 48.25670 975.94972
[7,] 510.21291 967.62767
[8,] 977.12363 978.29216
> My
[,1] [,2]
[1,] 50 50
[2,] 512 50
[3,] 974 50
[4,] 50 512
[5,] 974 512
[6,] 50 974
[7,] 512 974
[8,] 974 974
> model<-lm(My~Mx)
> model
Call:
lm(formula = My ~ Mx)
Coefficients:
[,1] [,2]
(Intercept) 0.934727 3.918421
Mx1 1.003517 -0.004202
Mx2 -0.002624 0.998155
> model<-rlm(My~Mx)
Error in lm.wfit(x, y, w, method = "qr") :
incompatible dimensions
> model<-rlm(My~Mx,psi=psi.bisquare)
Error in lm.wfit(x, y, w, method = "qr") :
incompatible dimensions
Another example (this one seems to work):
> Mx<-matrix(c(0,0,1,0,0,1),ncol=2,byrow=TRUE)+1
> My<-matrix(c(0,0,1,1,-1,1),ncol=2,byrow=TRUE)+1
> model<-rlm(My~Mx)
> model
Call:
rlm(formula = My ~ Mx)
Converged in 0 iterations
Coefficients:
[,1] [,2]
(Intercept) 1 -1
Mx1 1 1
Mx2 -1 1
Degrees of freedom: 6 total; 0 residual
Scale estimate: 0
Best regards,
Markku Mielityinen
More information about the R-help
mailing list