[Rd] Row-binding factor variables looses the ordered attribute.
Patrick Lindsey
patrick.lindsey@luc.ac.be
Thu, 14 Mar 2002 12:16:34 +0100 (MET)
Hi everyone,
I've just notice a problem with ordered factor variables. It appears
that row-binding two ordered factors together looses the ordered
attribute. The following example happens both in R1.3.1 and R1.4.1 (on
RedHat 7.2):
> y <- ordered(gl(3,6),labels=1:3)
> y
[1] 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3
Levels: 1 < 2 < 3
> data <- data.frame(y=ordered(gl(3,6),labels=1:3))
> data[,1]
[1] 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3
Levels: 1 < 2 < 3
> rbind(data,data)[,1]
[1] 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3
Levels: 1 2 3
I've also noticed a change of behavior, between R1.3.1 and R1.4.1, in the
way some covariate names are constructed. This is really a minor comment
but this change in behavior seems unnecessary and complicates the retrieval
of coefficients using the covariate's name. For example, fitting the
following glm model in R1.3.1 results in
> data <- data.frame(y=rnorm(20),cov=gl(4,5))
> glm(y~I(cov!=2),data=data)
Call: glm(formula = y ~ I(cov != 2), data = data)
Coefficients:
(Intercept) I(cov != 2)
0.8009 -0.7547
Degrees of Freedom: 19 Total (i.e. Null); 18 Residual
Null Deviance: 16.34
Residual Deviance: 14.21 AIC: 55.92
whereas with R1.4.1 we now get
> data <- data.frame(y=rnorm(20),cov=gl(4,5))
> glm(y~I(cov!=2),data=data)
Call: glm(formula = y ~ I(cov != 2), data = data)
Coefficients:
(Intercept) I(cov != 2)TRUE
0.4570 -0.7629
Degrees of Freedom: 19 Total (i.e. Null); 18 Residual
Null Deviance: 24.39
Residual Deviance: 22.2 AIC: 64.85
The covariate name "I(cov != 2)" is now (in R1.4.1) appended by the value
TRUE. I think that this must come from "model.matrix" which must be
transforming a boolean vector into a factor variable (which I would guess
is not really necessary as this is just a binary vector).
This change of behavior is not really a problem in itself (if it only
concerns the behavior of "model.matrix") but quite unexpected.
Thanks too all,
Patrick.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._