0

私は19個のタグを持っており、夏と秋のさまざまな時期に展開され、報告されました。現在、データ収集のどこに重複があるかを視覚化できるように、展開とレポートの時間を表示するプロットを作成しようとしています。plot()、boxplot()、ggplot()など、いくつかの異なるプロット関数を試しました。boxplot()で必要なものに近づきましたが、ボックスを開始日から終了日まで延長し、ひげを完全に排除したいと考えています。これを行う方法はありますか、それとも別の関数またはパッケージを使用する必要がありますか?これが私のコードです。私はRに少し慣れていないので、おそらく最も効率的ではありません。

注:tnumberは、私が使用したタグ番号です。日付はすべて異なるデータセットから取得されました。

dep.dates=boxplot(t62104[,8],t40636[,8],t84337[,8],t84353[,8],t62103[,8],
                  t110289[,8],t62102[,8],t62105[,8],t62101[,8],t84360[,8],
                  t117641[,8],t40643[,8],t110291[,8],t84338[,8],t110290[,8],
                  t84363[,8],t117639[,8],t117640[,8],t117638[,8],horizontal=T,
                  main='Tag deployment and pop-up dates',xlab='Month',
                  ylab='Tag number',names=c('62104','40636','84337','84353',
                  '62103','110289','62102','62105','62101','84360','117641',
                  '40643','110291','84338','110290','84363','117639','117640',
                  '117638'),las=1)
4

1 に答える 1

1

あなたが気にするのが範囲だけであれば、このようなものはうまくいきます。

require(ggplot2)

require(SpatioTemporal)

data(mesa.data.raw)

require(data.table)

out <- as.data.table(t(apply(mesa.data.raw$obs, 2, function(.v){ 
    names(.v)[range(which(!is.na(.v)))]
})),keep=TRUE)

setnames(out, "rn", "monitors")


ggplot(out, aes(x=monitors, y=V1, ymin=V1, ymax=V2,)) + geom_crossbar() + coord_flip()
ggplot(out, aes(x=monitors, ymin=V1, ymax=V2)) + geom_linerange() + coord_flip()

最初の ggplot 呼び出しは水平バーを作成しますが、中心線を取り除く方法がわからないため、最初に配置しました。

2 番目のプロットは水平線を作成しますが、これはとにかく見栄えが良いと思います。

于 2013-01-21T23:31:08.640 に答える