Shane Phillips
2011-Apr-12 12:17 UTC
[R] Converting a categorical variable to multiple dichotemous variables
I have a categorical variable in a dataframe similar to the following... cat 1 1 3 2 4 I need to convert it to 4 dichotemous variables for each observations like... cat1 cat2 cat3 cat4 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 Thanks in advance! Shane
andrija djurovic
2011-Apr-12 12:32 UTC
[R] Converting a categorical variable to multiple dichotemous variables
hi: here is one solution: cat<-as.factor(c(1,1,3,2,4)) model.matrix(~cat-1,cat) cbind(cat,model.matrix(~cat-1,cat)) Andrija On Tue, Apr 12, 2011 at 2:17 PM, Shane Phillips <SPhillips@lexington1.net>wrote:> I have a categorical variable in a dataframe similar to the following... > > cat > 1 > 1 > 3 > 2 > 4 > > I need to convert it to 4 dichotemous variables for each observations > like... > > cat1 cat2 cat3 cat4 > 1 0 0 0 > 1 0 0 0 > 0 0 1 0 > 0 1 0 0 > 0 0 0 1 > > > Thanks in advance! > > Shane > > ______________________________________________ > 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<http://www.r-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
Dr. Pablo E. Verde
2011-Apr-12 12:52 UTC
[R] Converting a categorical variable to multiple dichotemousvariables
Hi Shane, An alternative is: cat<-as.factor(c(1,1,3,2,4)) outer(cat, levels(cat), "==")+0 Cheers, Pablo ----- Original Message ----- From: "andrija djurovic" <djandrija at gmail.com> To: "Shane Phillips" <SPhillips at lexington1.net> Cc: <r-help at r-project.org> Sent: Tuesday, April 12, 2011 2:32 PM Subject: Re: [R] Converting a categorical variable to multiple dichotemousvariables> hi: > here is one solution: > > cat<-as.factor(c(1,1,3,2,4)) > model.matrix(~cat-1,cat) > > cbind(cat,model.matrix(~cat-1,cat)) > Andrija > > On Tue, Apr 12, 2011 at 2:17 PM, Shane Phillips > <SPhillips at lexington1.net>wrote: > >> I have a categorical variable in a dataframe similar to the following... >> >> cat >> 1 >> 1 >> 3 >> 2 >> 4 >> >> I need to convert it to 4 dichotemous variables for each observations >> like... >> >> cat1 cat2 cat3 cat4 >> 1 0 0 0 >> 1 0 0 0 >> 0 0 1 0 >> 0 1 0 0 >> 0 0 0 1 >> >> >> Thanks in advance! >> >> Shane >> >> ______________________________________________ >> 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<http://www.r-project.org/posting-guide.html> >> and provide commented, minimal, self-contained, reproducible code. >> > > [[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. >