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@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.
______________________________________________
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.