Pergunta

Estou trabalhando com um quadro de dados onde uma das colunas consiste em POSIXct valores de data-hora. Estou tentando plotar um histograma desses registros de data e hora usando ggplot2 Mas estou tendo dois problemas:

  1. Eu não sei como definir a largura em geom_histogram(). Eu gostaria de colocar cada lixeira em um dia ou uma semana. Tentei fornecer um objeto diferente, mas recebo um erro. Eu também tentei binwidth=1 Mas R apenas pendura.

  2. Como faço para definir os limites em scale_x_time()? A única maneira de conseguir que o funcionasse foi converter meu POSIXct Timestamps usando as.Date().

Foi útil?

Solução

  1. A largura é medida em segundos, então para lixar por semana binwidth=7*24*60*60.
  2. Os limites podem ser dados como um vetor de 2 objetos posixct.

Um exemplo:

y<-as.POSIXct('1970/01/01')+cumsum(rnorm(100,mean=24*60*60,sd=24*60*60))
p<-qplot(y,binwidth=7*24*60*60,fill=I('steelblue'),col=I('black'))
p<-p+scale_x_datetime(major="1 week",
                      minor="1 days",
                      format="%e/%m/%Y",
                      limits=c(as.POSIXct('1970/02/01'),
                               as.POSIXct('1970/03/31')))
print(p)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top