2017-06-21 5 views
1

間Rで折れ線グラフを作成する:は、私は次のようなデータフレームを持っている時間

 user_id       track_id   created_at 
1 81496937 cd52b3e5b51da29e5893dba82a418a4b 2014-01-01 05:54:21  
2 2205686924 da3110a77b724072b08f231c9d6f7534 2014-01-01 05:54:22 
3 132588395 ba84d88c10fb0e42d4754a27ead10546 2014-01-01 05:54:22 
4 97675221 33f95122281f76e7134f9cbea3be980f 2014-01-02 05:54:24 
5 17945688 b5c42e81e15cd54b9b0ee34711dedf05 2014-01-02 05:54:24 
6 452285741 8bd5206b84c968eda0af8bc86d6ab1d1 2014-01-02 05:54:25 

私は日間のuser_idの数を示すRで折れ線グラフを作成したいです。私は1日にuser_idがいくつ存在しているのかを知り、そのプロットを作成したいと考えています。どうすればいいのですか?

答えて

3

まず、Rで日付と時刻を処理する方法を知っておく必要があります。潤滑油パッケージを強くお勧めします。

library(lubridate) 
t <- ymd_hms("20170621111800") 
dt <- floor_date(t, unit='day') 
dt 

次に、あなたはそれを学ぶことは非常に簡単で、コードが読みやすいので、私は通常、dplyrパッケージを使用R.におけるデータフレームを操作する方法を学ぶ必要があります。最後に

library(dplyr) 
new_df <- df %>% 
    mutate(dt=floor_date(ymd_hms(created_at, unit='day'))) %>% 
    group_by(dt) %>% 
    summarise(user_cnt=n_distinct(user_id)) 
new_df 

は、私は個人的にこの作業を行うにはggplot2を使用することを好むR.におけるデータフレームをプロットする方法を学ぶ必要があります。

library(ggplot2) 
p <- ggplot(new_df) + geom_line(aes(x=dt, y=user_cnt)) 
p 

RStudioを使用してコードを実行すると、右下パネルに画像が表示されます。さらに、という図表パッケージを使用して、静的画像を動的チャートに変更することもできます。

library(plotly) 
ggplotly(p) 
+1

'mutate'と' floor_date'関数で 'unit =" day "を忘れてしまいました。また、その行に ')'が必要です。それ以外は素晴らしい答えです。 – www

+0

x軸はまだ時間です。私はユーザーの数をプロットしたいので、x軸は2014-01-01、2014-01-02、2014-01-03 .... @ycwになるはずです。あなたのコメントは問題を解決しました。 ありがとうございました。コメントのために –

+0

ありがとう:-) –

関連する問題