私は何かをする方法を理解しようとしていますがggplot2
、それは本当に簡単なR
はずです。それはとても簡単です...私は一生それを行う方法を理解することができません. 私は答えがggplotのドキュメントで私を見つめていると確信していますが、私はそれを見つけることができません. そう。私はここにいます。
私はよく次のようなデータセットを持っています:
tdf <- data.frame('datetime' = seq(from=as.POSIXct('2012-01-01 00:00:00'),
to=as.POSIXct('2012-01-31 23:59:59'), by=1))
tdf$variable <- rep(c('a','b','c'), length.out=length(tdf$datetime))
tdf$value <- sample(1:10, length(tdf$datetime), replace=T)
> head(tdf)
datetime variable value
1 2012-01-01 00:00:00 a 7
2 2012-01-01 00:00:01 b 3
3 2012-01-01 00:00:02 c 7
4 2012-01-01 00:00:03 a 8
5 2012-01-01 00:00:04 b 2
6 2012-01-01 00:00:05 c 3
つまり、カテゴリ変数 (因子)、その変数の値、および観測が記録されたタイムスタンプがあります。カテゴリ変数ごとに、特定の時間「バケット」の値の合計をプロットしたい-できればggplot2
. 視覚化する前に事前に集計する必要はありません。つまり、データセットをそのままにして、引数を渡してすぐggplot2
に集計するという柔軟性が本当に必要です。それでも、私は完全に困惑しています。のドキュメントにgeom_line
は、値の合計を取得するために使用stat='identity'
するように書かれていますが、一度それを行うと、どのような種類のビンも定義できなくなります。を使用するstat_summary
と、プロットがまったく返されないことがよくあります。私が得た最も近いものは次のとおりです。
tdf$variable <- factor(tdf$variable)
vis <- ggplot(tdf, aes(x=datetime, y=value, color=variable))
vis <- vis + geom_line(stat='identity')
vis <- vis + scale_x_datetime()
...少なくともプロットを出力し、各因子の値に対応する行を...秒単位で表示します。データを事前に集計するための一連の作業を行わずに、たとえば 1 時間、1 日、または 1 週間操作を行うことbin
はできません。sum(value)
ヘルプ?
編集:Rセッションがこのテストデータで窒息した人にはお詫びします。切り返しました。