даты выпуска ggplot - PullRequest
       3

даты выпуска ggplot

1 голос
/ 07 апреля 2011

Я недавно начал использовать ggplot, и я немного запутался с графикой даты и времени на оси X.

Самый маленький пример проблемы:

df = data.frame(DateTime=c("2011-03-29 22:44:01", "2011-03-30 00:08:36", "2011-04-07 08:49:50"), response=c(1,2,3))

df$DateTime = as.POSIXct(df$DateTime, format="%Y-%m-%d %H:%M:%S")

Это выдает ошибку ANS:

> qplot(DateTime, response, data=df)  
Error in seq.int(r1$year, to$year, by) : 'from' must be finite

, но это работает нормально:

>  qplot(DateTime, response, data=df[1:2,])

Почему мой первый график не работает?

Как запрошено sessionInfo () показывает:

sessionInfo() </p> <blockquote> <p>R version 2.12.2 (2011-02-25) Platform: i386-pc-mingw32/i386 (32-bit)</p> <p>locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 >LC_MONETARY=English_United States.1252 LC_NUMERIC=C<br> [5] LC_TIME=English_United States.1252 </p> <p>attached base packages: [1] grid grDevices datasets splines graphics stats tcltk utils methods base </p> <p>other attached packages: [1] car_2.0-9 nnet_7.3-1 MASS_7.3-11 RColorBrewer_1.0-2 doBy_4.3.0 ggplot2_0.8.9 proto_0.3-9.1 reshape_0.8.4<br> [9] plyr_1.4.1 svSocket_0.9-51 TinnR_1.0.3 R2HTML_2.2 >Hmisc_3.8-3 survival_2.36-5 </p> <p>loaded via a namespace (and not attached): [1] cluster_1.13.3 digest_0.4.2 lattice_0.19-17 Matrix_0.999375-46 >svMisc_0.9-61 tools_2.12.2 </p> </blockquote> <p> И вывод traceback ():


traceback()
20: seq.POSIXt(floor_time(range[1], time), ceiling_time(range[2], 
        time), by = time)
19: fullseq_time(d, .$break_points()[2])
18: get(x, envir = this, inherits = inh)(this, ...)
17: scales$x$output_breaks()
16: inherits(x, "factor")
15: is.factor(x)
14: rescale(data, 0:1, range, clip = clip)
13: get(x, envir = this, inherits = inh)(this, ...)
12: .$rescale_var(scales$x$output_breaks(), x.range, TRUE)
11: get(x, envir = this, inherits = inh)(this, ...)
10: coord$compute_ranges(scales)
9: FUN(1L[[1L]], ...)
8: lapply(seq_along(data), function(i) {
       layer ), 
       scales = , mapping = list(x = DateTime, y = response), 
       options = list(labels = list(x = "DateTime", y = "response")), 
       coordinates = , facet = , plot_env = ))
1: print(list(data = list(DateTime = c(1301431441, 1301436516, 1302158990
   ), response = c(1, 2, 3)), layers = list(), scales = , 
       mapping = list(x = DateTime, y = response), options = list(
           labels = list(x = "DateTime", y = "response")), coordinates = , 
       facet = , plot_env = ))

Ответы [ 3 ]

1 голос
/ 16 июня 2011

У меня такая же проблема. Windows XP / US English / R 2.13.0

Я могу построить до 476 записей, но ошибка появляется, если у меня 477 или больше.

Это работает:

data=subset(Pressures,DaysAgo<7)[1:476,])

Это не:

data=subset(Pressures,DaysAgo<7)[1:477,])

Я не уверен, что причиной проблемы является количество записей или характер 477-й записи.

В любом случае обходной путь , по-видимому, должен указывать главные и второстепенные интервалы сетки, то есть

p <- p+scale_x_datetime(major="1 day",minor="6 hours")

где p - ваш сюжет.

0 голосов
/ 20 июля 2011

У меня тоже была проблема, но для меня она решена, так как я обновился до R 2.13.1.ОП, не могли бы вы проверить и подтвердить это?

R version 2.13.1 (2011-07-08)
Platform: x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] C

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] lubridate_0.2.5 ggplot2_0.8.9   proto_0.3-9.2   reshape_0.8.4   reshape2_1.1         xtable_1.5-6    plyr_1.5.2     
[8] zoo_1.6-5      

loaded via a namespace (and not attached):
[1] digest_0.5.0    lattice_0.19-30 stringr_0.5     tools_2.13.1
0 голосов
/ 15 апреля 2011

Я столкнулся с той же проблемой с недавними данными в моих исследованиях.

Фактически, изменение df[3,1] на 2011-04-30 08:49:50 (30 апреля) заставляет его работать снова.Кроме того, у plot() нет проблем с этим.

Так что, похоже, в ggplot2 есть какая-то ошибка, связанная с преобразованием даты и времени.

Редактировать: Я повторил это нау меня mac и проблем там нет, так что только на винде.Следующим шагом может быть проверка того, действительно ли это является проблемой локали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...