On 26/08/10 09.30, Dimitris Rizopoulos wrote:
I think you need an I(), i.e.,

form <- ~ I(a > 1) - 1

Yes, it solves the concrete problem, but does not really answer
the question. Let me rephrase. Should the use of terms like (a>1)
be discouraged in R and replaced by I(a>1) systematically, or is the
behavior below unexpected?

Best, Niels



I hope it helps.

Best,
Dimitris


On 8/26/2010 9:17 AM, Niels Richard Hansen wrote:
I have the following problem

mydata <- data.frame(a=1:3)
form <- ~ (a>1) - 1
model.matrix(form,mydata)

a > 1FALSE a > 1TRUE
1 1 0
2 0 1
3 0 1
...

However

model.matrix(update(terms(form)[1],~.-1),mydata)

(Intercept) a > 1 - 1TRUE
1 1 1
2 1 1
3 1 1
...

Taking

terms(form)[1]

extracts the formula with only the first term, but the parentheses
are thrown away, and after the update, I get a different formula.
Is that supposed to be so?

Thanks, Niels



--
Niels Richard Hansen                     Web:   www.math.ku.dk/~richard 
Associate Professor                      Email: niels.r.han...@math.ku.dk
Department of Mathematical Sciences             nielsrichardhan...@gmail.com
University of Copenhagen                 Skype: nielsrichardhansen.dk   
Universitetsparken 5                     Phone: +45 353 20783 (office)  
2100 Copenhagen Ø                               +45 2859 0765 (mobile)
Denmark

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to