Rでggplotを使用して複数行のグラフをプロットしようとしています。これはかなり簡単ですが、成功するとは思えません。次のように複数の行をggplotにプロットすると、x軸が繰り返される
マイデータフレームである:
> head(PPP)
date P pp HP
1 28.07.2011 38.88 38.88000 40.824
2 29.07.2011 39.14 39.14000 40.824
3 01.08.2011 38.29 38.83005 40.824
4 02.08.2011 39.07 39.07480 40.824
5 03.08.2011 40.75 39.71282 40.824
6 04.08.2011 38.40 38.94552 40.824
私は、パッケージ「reshape2」のメルト()関数を使用してこのデータを溶かす:次のように
> meltPPP<-melt(PPP,id="date")
結果が(に見えます「日付」列に値の繰り返しが含まれていることに注意してください)。
> head(meltPPP)
date variable value
1 28.07.2011 P 38.88
2 29.07.2011 P 39.14
3 01.08.2011 P 38.29
4 02.08.2011 P 39.07
5 03.08.2011 P 40.75
6 04.08.2011 P 38.40
私の目標はx -axは "日付"の値で、チャートの3つの線: "P"、 "pp"、 "HP"のy軸上の値です。私はその後、チャートをプロットしようとする次のコードを使用します。
> h<-ggplot(meltPPP,aes(date,value,group=variable,colour=variable))
> h+geom_line()
しかし、Rは、「日付」の値が繰り返されるようにされていないことを理解していないようです。結果は次のとおりです。
同じチャートを繰り返し、何度も何度も圧迫されるように私には思えます。これはおそらく、Rが "日付"の値が一意であることを理解していないという事実によるものです。
どうすればこの問題を解決できますか?
ありがとうございます!
あなたが動作するはずの型に変換するには、 'as.POSIXct'を使用することができ、日付またはベースRに変換するために' lubridate'パッケージを使用することができます。例えば、 'as.POSIXct( '2016-04-04 12:34:56')'のように日付を変換するか、 ''ライブラリ(lubridate) ''とymd_hms( '2016-04 -04 12:34:56 ') '。 – steveb
あなたの日付は異なった形式です、 'lubridate'を使うときに' dmy'関数を使う必要があるかもしれません。 – steveb