On Tue, 22-Jan-2013 at 08:30AM -0500, Ista Zahn wrote:

|> Hi,
|> 
|> ID is not the value column. Your casting call should be
|> 
|> dcast(aa, ... ~ Target, value.var = "Eaten")

Thanks for that illumination.  That does exactly what I wanted.  I
knew there were many ways of achieving the result, but I was
particularly interested in understanding how dcast() would do it.
It's also more elegant than any of the other ways of achieving the
same result.

Thanks also for the other suggestions from various other responders.

P


|> 
|> Best,
|> Ista
|> 
|> On Tue, Jan 22, 2013 at 4:23 AM, Patrick Connolly
|> <p_conno...@slingshot.co.nz> 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@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.

-- 
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.   
   ___    Patrick Connolly   
 {~._.~}                   Great minds discuss ideas    
 _( Y )_                 Average minds discuss events 
(:_~*~_:)                  Small minds discuss people  
 (_)-(_)                              ..... Eleanor Roosevelt
          
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.

______________________________________________
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
and provide commented, minimal, self-contained, reproducible code.

Reply via email to