[R] Simple use of dcast (reshape2 package)

arun smartpink111 at yahoo.com
Tue Jan 22 15:26:38 CET 2013


Hi,

This could be done with ?aggregate()
res<-aggregate(aa$Eaten,by=list(ID=aa$ID),FUN=function(x) x)
res1<-data.frame(ID=res[,1],data.frame(res[[2]]))
 names(res1)[2:3]<-unique(aa$Target)
 res1
#  ID TPP GPA
#1  1   0   9
#2  2   1  11
#3  3   3   8
#4  4   1   8
#5  5   2  10
A.K.




----- Original Message -----
From: Patrick Connolly <p_connolly at slingshot.co.nz>
To: R-help <r-help at r-project.org>
Cc: 
Sent: Tuesday, January 22, 2013 4:23 AM
Subject: [R] Simple use of dcast (reshape2 package)

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