R ggplot2 построит несколько временных рядов на сюжете - PullRequest
7 голосов
/ 19 октября 2011

После успешного (с вашей помощью) построения метеопеременных на одном (одной переменной) графике я пытаюсь создать панель с временными рядами различных переменных в моих данных на одной панели, как в Пример веб-страницы ggplot2 . Я пытался воспроизвести этот пример (последний график внизу страницы) с моими данными, но безуспешно

Мой объем данных за несколько лет, но я прикрепляю только месяц. Вы можете увидеть вывод dput (datos) на http://ubuntuone.com/42j1RqUmNmxUuCppW4gElX

и это код, который я пытаюсь

datos=read.csv("paterna.dat",sep=";",header=T,na.strings="-99.9")
dm=melt(datos,id="FECHA.H_SOLAR")

datos$PRECIP[is.na(datos$PRECIP)]=0
dm=melt(datos,id="FECHA.H_SOLAR")
qplot(date, value, data = dm, geom = "line", group = variable) +  facet_grid(variable ~ ., scale = "free_y") 
Error: geom_line requires the following missing aesthetics: x
Además: Mensajes de aviso perdidos
1: In min(x) : ningún argumento finito para min; retornando Inf
2: In max(x) : ningun argumento finito para max; retornando -Inf

Я пробую qplot, как показано в приведенном примере, но, возможно, лучше использовать ggplot и установить эстетику. Тогда я мог бы также настроить оси.

Заранее спасибо

1 Ответ

7 голосов
/ 19 октября 2011

проблема двоякая.Прежде всего, внутри расплавленного data.frame нет объекта date, который выдает сообщение об ошибке.Во-вторых, ваш FECHA.H_SOLAR - это фактор, который затруднит правильное построение дат.Итак, вот мое решение:

datos <- source("http://ubuntuone.com/42j1RqUmNmxUuCppW4gElX")[[1]]
library(reshape2)
library(ggplot2)

datos$PRECIP[is.na(datos$PRECIP)] <- 0
dm <- melt(datos,id="FECHA.H_SOLAR")
# change FECHA.H_SOLAR to POSIXct so you get your dates right
dm$Fecha <- as.POSIXct(dm$FECHA.H_SOLAR, "%y/%m/%d %H:%M:%S", tz = "")
qplot(Fecha, value, data = dm, geom = "line", group = variable) +
  facet_grid(variable ~ ., scale = "free_y")

enter image description here

Надеюсь, что это поможет

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