ggtitle - ¿Comportamiento posiblemente inconsistente en qplot()?
ggplot title size (2)
Cuando tenga dudas, observe la clase de los objetos que se pasan. Gracias Hadley.
class(new.df$ws.dat.new.t)
## [1] "POSIXt" "POSIXct" <--- ct!!!!
class(as.POSIXlt(ws.dat$tt))
## [1] "POSIXt" "POSIXlt" <--- lt!!!!
Estoy tratando de usar qplot () para trazar una serie temporal simple como se podría hacer usando plot (). La variable x es como.POSIXlt y la y es solo una medida continua. Aquí está el código con algunos comentarios breves. Cualquier ayuda sobre por qué estos data.frames se comportan de manera diferente sería muy apreciada. Como puede ver a continuación, puedo evitar el problema, pero tengo curiosidad sobre por qué no funciona como era de esperar.
Algunos detalles:
plataforma: OS X 10.6.4
Versión R: R 2.11.0
Descargo de responsabilidad: me doy cuenta de que podría profundizar en el código fuente y resolver esto por mi cuenta. Nunca he usado SO y pensé que podría ser un buen tema para este foro.
Descargo de responsabilidad (2): soy nuevo en ggplot2
library(ggplot2)
ws.dat <- read.csv("~/path/to/filename.csv",header=F)
names(ws.dat) <- c("s","t","w")
ws.dat$new.t <- as.POSIXlt(ws.dat$t)
ws.dat[1:5,]
## s t w new.t
## 1 29522 2005-07-02 00:00:00 5.00 2005-07-02 00:00:00
## 2 29522 2005-07-02 00:10:00 5.29 2005-07-02 00:10:00
## 3 29522 2005-07-02 00:20:00 5.48 2005-07-02 00:20:00
## 4 29522 2005-07-02 00:30:00 5.54 2005-07-02 00:30:00
## 5 29522 2005-07-02 00:40:00 5.49 2005-07-02 00:40:00
## the following works
plot(as.POSIXlt(ws.dat$t), ws.dat$w)
## doesn''t work
qplot(as.POSIXlt(t), w, data = ws.dat)
## Error in if (length(range) == 1 || diff(range) == 0) { :
## missing value where TRUE/FALSE needed
## doesn''t work
ws.dat$new.t <- as.POSIXlt(ws.dat$t)
qplot(new.t, w, data = ws.dat)
## Same error as above
## Note - I could find a more elegant way of doing this; I''m just trying
## to reproduce as fast as possible.
new.df <- data.frame(ws.dat$new.t, ws.dat$w)
new.df[1:5,]
## ws.dat.new.t ws.dat.w
## 1 2005-07-02 00:00:00 5.00
## 2 2005-07-02 00:10:00 5.29
## 3 2005-07-02 00:20:00 5.48
## 4 2005-07-02 00:30:00 5.54
## 5 2005-07-02 00:40:00 5.49
## ''works as *I* would expect''; this is != ''works *as* expected''
qplot(ws.dat.new.t, ws.dat.w, data = new.df)
Use POSIXct
- POSIXlt
no es adecuado para su inclusión en marcos de datos. Cuando utiliza data.frame
para crear la variable, se POSIXct
automáticamente a POSIXct
.