[R] Break up a data frame
David Winsemius
dwinsemius at comcast.net
Thu Mar 20 15:01:37 CET 2008
"Ravi S. Shankar" <ravis at ambaresearch.com> wrote in
news:A36876D3F8A5734FA84A4338135E7CC3033BE60E at BAN-MAILSRV03.Amba.com:
> Hi R users,
>
>
>
> I have a dataframe in the below format
>
> xyz 01/03/2007 15.25 USD
>
> xyz 01/04/2007 15.32 USD
>
> xyz 01/02/2008 23.22 USD
>
> abc 01/03/2007 45.2 EUR
>
> abc 01/04/2007 45.00 EUR
>
> abc 01/02/2008 68.33 EUR
>
>
>
> I want to change the above data into the below format
>
>
>
>
>
> xyz 01/03/2007 15.25 USD
> abc
> 01/03/2007 45.2 EUR
>
> xyz 01/04/2007 15.32 USD
> abc
> 01/04/2007 45.00 EUR
>
> xyz 01/02/2008 23.22 USD
> abc
> 01/02/2008 68.33 EUR
>
>
Seeing what appeared to be wordwrap, I interpreted your request as asking
for display of "xyz" rows adjacent to "abc" rows. If that is the case,
then this seems to work for the toy example:
> xz <- read.table("clipboard")
> xz
V1 V2 V3 V4
1 xyz 01/03/2007 15.25 USD
2 xyz 01/04/2007 15.32 USD
3 xyz 01/02/2008 23.22 USD
4 abc 01/03/2007 45.20 EUR
5 abc 01/04/2007 45.00 EUR
6 abc 01/02/2008 68.33 EUR
> cbind(xz[xz$V1=="xyz",],xz[xz$V1=="abc",])
V1 V2 V3 V4 V1 V2 V3 V4
1 xyz 01/03/2007 15.25 USD abc 01/03/2007 45.20 EUR
2 xyz 01/04/2007 15.32 USD abc 01/04/2007 45.00 EUR
3 xyz 01/02/2008 23.22 USD abc 01/02/2008 68.33 EUR
If it was instead a request for USD next to EUR, then the needed
modifications should be obvious.
--
David Winsemius
More information about the R-help
mailing list