[Rd] Alias does not label rows and columns correctly. (PR#2586)
dsmith@santafe.edu
dsmith@santafe.edu
Thu Feb 27 02:39:02 2003
Alias does not label rows and columns correctly. Instead of labeling the
rows with the removed predictors, and the cols with the included predictors;
instead, it labels the columns with the first r predictors (where r is the
rank of the matrix) and the rows with the remaining predictors.
Here's an example:
> Y<-c(0,1,2)
> X1<-c(0,1,0)
> X2<-c(0,1,0)
> X3<-c(0,0,1)
> alias(lm(Y ~ X1 + X2 + X3))
Model :
Y ~ X1 + X2 + X3
Complete :
(Intercept) X1 X2
X3 1
X1 and X2 are colliner, but alias reports X1 is collinear with X3.
The error is only in the assignment of names, the matrix alias prints
is correct. Here's a fix (there may well be a better one, I'm new to R)
in function alias.lm, replace the line:
# dimnames(beta12) <- list(dn[p1], dn[ -p1])
with:
c<-object$coefficients
dimnames(beta12) <- list(names(c[!is.na(c)]), names(c[is.na(c)]))
Derek