[R] ggplot : scale_x_datetime issues
ravi
rv15i at yahoo.se
Mon Dec 14 18:40:46 CET 2009
Dear R users,
My immediate problem is that I do not seem to understand how to use the function scale_x_datetime function in ggplot. My deeper problem is that I don’t understand the use of the POSIXct class.
My data looks like like the following :
T val
2009-11-04 23:59:57 972.357117
2009-11-05 00:02:21 969.389221
2009-11-05 00:04:45 868.817749
2009-11-05 00:07:09 805.593079
2009-11-05 00:09:33 928.946106
2009-11-05 00:11:57 1004.880249
2009-11-05 00:14:21 969.154846
2009-11-05 00:16:45 989.090942
2009-11-05 00:19:09 1009.907837
2009-11-05 00:21:33 1058.458374
2009-11-05 00:23:57 1179.298096
………………
……………….
2009-11-06 23:57:23 650.345631
I attempted to code with the following :
df<-read.table(file=file1,header=TRUE,sep="\t",colClasses=c("character","numeric"))
# Could not directly read in the time with the POSIXct class instead of as character
t1<-as.POSIXct(df$T)
# interested in a specific time frame
# first attempted without the CET in the limits
lim2<- c("2009-11-05 12:00:00 CET","2009-11-06 13:00:00 CET")
library(ggplot)
ggplot(data=df,aes(x=T,y=val))+geom_line()+scale_x_datetime(limits=lim2,format="%H")
I get the following error message :
#####
Error in if (length(range) == 1 || diff(range) == 0) { :
missing value where TRUE/FALSE needed
In addition: Warning message:
In get("transform", env = trans, inherits = TRUE)(trans, ...) :
NAs introduced by coercion
######
I next tried to get a subset of the dataframe with the following :
df2<-df [df$T>"2009-11-05 11:57:33 CET" & df$T<"2009-11-06 12:59:57 CET",]
> head(df2)
[1] Tid1 Rok
<0 rows> (or 0-length row.names)
I don’t seem to understand how I should work with the POSIXct class. And, this is just the first step in my analysis (with many more steps pending)..
I will appreciate any and all the help that I can get.
Thanking you,
Ravi
More information about the R-help
mailing list