12

列の 1 つがPOSIXct日時値で構成されるデータ フレームを使用しています。を使用してこれらのタイムスタンプのヒストグラムをプロットしようとしていますが、ggplot22 つの問題があります。

  1. でビン幅を設定する方法がわかりませんgeom_histogram()。各ビンを 1 日または 1 週間に設定したいと思います。difftime オブジェクトを提供しようとしましたが、エラーが発生します。私も試しbinwidth=1ましたが、R がハングアップします。

  2. で制限を設定するにはどうすればよいscale_x_time()ですか? POSIXctそれを機能させる唯一の方法は、を使用してタイムスタンプを変換することでしたas.Date()

4

1 に答える 1

23
  1. ビン幅は秒単位で測定されるため、ビンごとに設定しbinwidth=7*24*60*60ます。
  2. 制限は、2 つの POSIXct オブジェクトのベクトルとして指定できます。

例:

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)
于 2010-03-09T14:40:28.873 に答える