[R] Why is model.matrix creating 2 columns for boolean?
Ben Bolker
bolker at ufl.edu
Sat Nov 17 18:51:02 CET 2007
Ross Boylan wrote:
>
> I have a data frame "reading" that includes a logical variable "OLT"
> along with response variable "Reading" and predictor "True" (BOTH are
> numeric variables; it's "True" as in the true value).
>
> When I suppress the intercept, model.matrix gives me OLTTRUE and
> OLTFALSE columns. Why? Can I do anything to prevent it?
>
>
I guess I don't understand the question -- this seems to be the
right behavior ... if you fitted the model Reading~OLT-1, you
need two coefficients, one to predict the value of cases where
OLT=FALSE and one to predict the value where OLT=TRUE.
You can parameterize the model as (value when FALSE,
difference between FALSE and TRUE) or (value when TRUE,
difference between TRUE and FALSE) or (value when TRUE,
value when FALSE) -- but however you do it you'll need two
variables in the model matrix -- right? Adding a continuous
predictor shouldn't matter.
If you don't want the extra column you can always drop
it with mm[,-1] ...
Ben Bolker
--
View this message in context: http://www.nabble.com/Why-is-model.matrix-creating-2-columns-for-boolean--tf4817540.html#a13811570
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list