[R] An apply and rep question
Horace Tso
Horace.Tso at pgn.com
Fri Aug 11 20:48:06 CEST 2006
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
More information about the R-help
mailing list