Help Reformatting a Data table

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Help Reformatting a Data table

mikey
Hi, I am a relative newbie to R, so thanks in advance for the patience.

I am interesting in changing a table with year data into a format that
is friendlier for making bar charts. I currently have a table with the
same year appearing a number of times as separate rows.  I want to
change this so that each row is equivalent to a particular year.

Here is an example of my current format:

TAX YEAR NUMBER
A 2000          2
A 2001  2
A 2002          3
A 2003           1
B 2000          3
B 2001          4
B 2002          3
B 2004           2

A<-data.frame(c("A", "A", "A", "A", "B","B","B","B"),
c(2000,2001,2002,2003,2000,2001,2002,2004), c(2,2,3,1,3,4,3,2))
colnames(A) = c("TAX", "YEAR", "NUMBER")

I want to Change this to the following:

YEAR A B
2000       2 3
2001       2 4
2002       3 3
2003       1 0
2004     0 2

Any help would be appreciated!

Of course, while I am posting, I'll also ask for any tips for creating
a barchart with the X axis being "YEAR".

Thanks for the time

Mike

______________________________________________
[hidden email] 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 | Threaded
Open this post in threaded view
|

Re: Help Reformatting a Data table

djmuseR
Here's one way to do it using the reshape package:

library('reshape')
cast(A, YEAR ~ TAX, value = 'NUMBER', fill = 0)
  YEAR A B
1 2000 2 3
2 2001 2 4
3 2002 3 3
4 2003 1 0
5 2004 0 2

HTH,
Dennis

On Tue, Oct 18, 2011 at 7:51 PM, Michael E. Steiper
<[hidden email]> wrote:

> Hi, I am a relative newbie to R, so thanks in advance for the patience.
>
> I am interesting in changing a table with year data into a format that
> is friendlier for making bar charts. I currently have a table with the
> same year appearing a number of times as separate rows.  I want to
> change this so that each row is equivalent to a particular year.
>
> Here is an example of my current format:
>
> TAX     YEAR    NUMBER
> A       2000              2
> A       2001              2
> A       2002              3
> A       2003               1
> B       2000              3
> B       2001              4
> B       2002              3
> B       2004               2
>
> A<-data.frame(c("A", "A", "A", "A", "B","B","B","B"),
> c(2000,2001,2002,2003,2000,2001,2002,2004), c(2,2,3,1,3,4,3,2))
> colnames(A) = c("TAX", "YEAR", "NUMBER")
>
> I want to Change this to the following:
>
> YEAR    A       B
> 2000           2        3
> 2001            2       4
> 2002           3        3
> 2003           1        0
> 2004            0       2
>
> Any help would be appreciated!
>
> Of course, while I am posting, I'll also ask for any tips for creating
> a barchart with the X axis being "YEAR".
>
> Thanks for the time
>
> Mike
>
> ______________________________________________
> [hidden email] 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.
>

______________________________________________
[hidden email] 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.