[R] Efficiently create dummy

Dimitris Rizopoulos d.rizopoulos at erasmusmc.nl
Mon Mar 23 10:51:47 CET 2009

well, you can first define a factor, and the use model.matrix(), e.g.,

fc <- factor(c("AR", "DE", "MS", "NY"))
model.matrix(~ fc)

for more info check ?model.matrix(), e.g., if you want to change the 

I hope it helps.


Rob Denniker wrote:
> What's the neat way to create a dummy from a list?
> The code below is not replicable, but hopefully self-explanatory...
> d$treatment<-rep(1,length(d))
> notreat<-c("AR", "DE", "MS", "NY", "TN", "AK", "LA", "MD",  "NC", "OK", "UT", "VA")
> #i would really like this to work:
> d$treatment[d$st==any(notreat)]<-0
> #but instead i resort to this
> for (i in 1:length(notreat)) {
> temp.st <- notreat[i]
> d$treatment[d$st==temp.st]<-0
> i<-i+1 }
> Thanks, list!
> ______________________________________________
> R-help at 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.

Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center

Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014

More information about the R-help mailing list