[R] Transform values from one column into column names of new dataframe

hadley wickham h.wickham at gmail.com
Fri May 2 18:36:04 CEST 2008


On Fri, May 2, 2008 at 11:05 AM, Matt <mvgnyc at gmail.com> wrote:
> Hi, I have a question about reformatting data. It looks like it should
>  be simple, but I've been working at it for awhile now and it's about
>  time I ask for help.
>
>  My data look like this:
>
>  ITEM VALUE STEP
>  item1 A          first
>  item2 C          first
>  item2 D          second
>  item1 A          second
>  item3 A          first
>  item3 B          second
>  item3 A          third
>
>  I just want to transform it so they look like this:
>
>  ITEM FIRST SECOND THIRD
>  item1 A         A                NA
>  item2 C         D                NA
>  item3 A         B                A
>
>  Basically taking the values of the "STEP" column and using those as
>  the column names and merging together the items.

Have a look at the reshape package (http://had.co.nz/reshape):

install.packages("reshape")
library(reshape)

names(mydf) <- tolower(names(mydf))
cast(mydf, item ~ step, length)
cast(mydf, item ~ step, function(x) x[1])

Hadley

-- 
http://had.co.nz/



More information about the R-help mailing list