[R] Simple use of dcast (reshape2 package)

Gerrit Eichner Gerrit.Eichner at math.uni-giessen.de
Tue Jan 22 10:57:42 CET 2013


Hi, Patrick,

I think (with reshape from the stats package)

reshape( aa, idvar = "ID", v.names = "Eaten", timevar = "Target",
          direction = "wide")

does the trick (followed by renaming the columns of the resulting data 
frame).

  Hth  --  Gerrit


On Tue, 22 Jan 2013, Patrick Connolly wrote:

> Suppose I have a small dataframe
>
>> aa
>     Target Eaten ID
> 50      TPP     0  1
> 51      TPP     1  2
> 52      TPP     3  3
> 53      TPP     1  4
> 54      TPP     2  5
> 50.1    GPA     9  1
> 51.1    GPA    11  2
> 52.1    GPA     8  3
> 53.1    GPA     8  4
> 54.1    GPA    10  5
>
> And I want to reshape it into
>
>  ID TPP GPA
> 1  1   0   9
> 2  2   1  11
> 3  3   3   8
> 4  4   1   8
> 5  5   2  10
>
> I realise that dcast function in the reshape2 package can handle much
> more complicated tasks than that, but I can't make it do a simple one.
>
> If I simply tried
>
>> dcast(aa, ... ~ Target)
> Using ID as value column: use value.var to override.
> Aggregation function missing: defaulting to length
>  Eaten GPA TPP
> 1     0   0   1
> 2     1   0   2
> 3     2   0   1
> 4     3   0   1
> 5     8   2   0
> 6     9   1   0
> 7    10   1   0
> 8    11   1   0
>
> As per the help file, it's giving counts of the numbers in the Eaten
> column since that's the default fun.aggregate value.
>
> My questions are: what fun.aggregate would work?  Alternatively, can
> value.var be set to something useful?
>
> TIA
>
> -- 
> ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
>   ___    Patrick Connolly
> {~._.~}                   Great minds discuss ideas
> _( Y )_  	         Average minds discuss events
> (:_~*~_:)                  Small minds discuss people
> (_)-(_)  	                      ..... Eleanor Roosevelt
>
> ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
>
> ______________________________________________
> 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.
>



More information about the R-help mailing list