[R] An apply and rep question

From: Horace Tso <Horace.Tso_at_pgn.com>
Date: Sat 12 Aug 2006 - 04:48:06 EST


Hi list,

I'm sure the explanation must be laughably simple to the experts out there, but I just could figure it out. I have a simple data frame that looks like,

>head(da.off)

       DDate OffP

1 2005-01-01 41.23
2 2005-01-02 44.86
3 2005-01-03 44.86
4 2005-01-04 43.01
5 2005-01-05 45.47
6 2005-01-06 48.62

where the first column DDate currently is character, and OffP is numeric.

I want to duplicate every row 2 times, so I thought I use apply(),

x <- apply(da.off, 2, rep, each=2)

The result is a matrix of all character,

 head(x)
  DDate OffP

1 "2005-01-01" " 41.23"
1 "2005-01-01" " 41.23"
2 "2005-01-02" " 44.86"
2 "2005-01-02" " 44.86"
3 "2005-01-03" " 44.86"
3 "2005-01-03" " 44.86"

To convert it back to numeric, I did

x <- as.data.frame(x)
x$OffP <- as.numeric(x$OffP)

However, the OffP column didn't convert correctly, a mystery since they "look" quite alright above. (I know, I know, there seems to be a space there. But why?)

head(x)

         DDate OffP

1   2005-01-01  150
1.1 2005-01-01  150
2   2005-01-02  202
2.1 2005-01-02  202
3   2005-01-03  202
3.1 2005-01-03  202

Is this the wrong way to use apply or rep?

Horace



R-help@stat.math.ethz.ch 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. Received on Sat Aug 12 04:54:38 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Sat 12 Aug 2006 - 06:20:19 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.