change factor to mtrix
On Jun 12, 2013, at 09:47 , Gallon Li wrote:
i wish to change a column of factor variable to multiple columns of
zero-ones
for example, my factor could be
ff=c('a','a','b','b','c','c')
then I want to have two columns (for three levels) that are
0 0
0 0
1 0
1 0
0 1
0 1
how can i do this fast?
Maybe not fast, but quick:
fff <- factor(ff) model.matrix(~fff)[,-1]
fffb fffc 1 0 0 2 0 0 3 1 0 4 1 0 5 0 1 6 0 1 Possibly faster, skipping some "red tape":
CC <- contrasts(fff) CC
b c a 0 0 b 1 0 c 0 1
CC[fff,]
b c a 0 0 a 0 0 b 1 0 b 1 0 c 0 1 c 0 1
[[alternative HTML version deleted]]
______________________________________________ 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.
Peter Dalgaard, Professor Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com