[R] two cols in a data frame are the same factor
Andres Legarra
legarra at gmail.com
Tue Mar 18 13:01:50 CET 2008
Dear all,
I have a data set (QTL detection) where I have two cols of factors in
the data frame that correspond logically (in my model) to the same
factor. In fact these are haplotype classes.
Another real-life example would be family gas consumption as a
function of car company (e.g. Ford, GM, and Honda) (assuming 2 cars by
family).
An artificial example follows:
set.seed(1234)
L3 <- LETTERS[1:3]
(d <- data.frame( y=rnorm(10), fac=sample(L3, 10,
repl=TRUE),fac1=sample(L3,10,repl=T)))
lm(y ~ fac+fac1,data=d)
and I get:
Coefficients:
(Intercept) facB facC fac1B fac1C
0.3612 -0.9359 -0.2004 -2.1376 -0.5438
However, to respect my model, I need to constrain effects in fac and
fac1 to be the same, i.e. facB=fac1B and facC=fac1C. There are
logically just 4 unknowns (average,A,B,C).
With continuous covariates one might do y ~ I(cov1+cov2), but this is
not the case.
Is there any trick to do that?
Thanks,
Andres Legarra
INRA-SAGA
Toulouse, France
More information about the R-help
mailing list