2017-08-07 6 views
1

2016-01-01〜2017-07-30のデータがあります。私は3ヶ月ごとにgroup_byデータを集計して要約したい。ここに収まらないので、データ全体を表示するのは難しいです。私は一般にlubridatedplyrをデータ操作に使用していますが、3か月ごとにデータをロールアップする方法はわかりません。達成しようとしている疑似コードは次のとおりです。R:Nヶ月ごとにデータをグループ化します。

df$month <- month(as.Date(df$date)) 
df$year <- year(as.Date(df$date)) 
df %>% group_by(month + "3 Months", year) %>% summarise(n = sum(pageviews)) 

私はこれを行う簡単な方法を教えてください。 dplyrを使用すると非常に簡単だとわかります。ありがとうございます。

+0

あなたはlubridateで四半期を取得する機能がありませんか? –

+1

はい、lubridateに関数があり、それを指摘してくれてありがとう。しかし、何ヶ月か何日もかけて試してみたい。私はより一般化された答えを探しています。 –

+0

'df $ month_group < - (df $ month-reference_month)%/%3'を試して、month_groupでグループ化してください –

答えて

2
df %>% 
    mutate(dategroup = lubridate::floor_date(date, "2 months")) %>% 
    group_by(dategroup) %>% ... 

floor_dateceiling_date、及びround_date引数として受け入れる:

時間単位またはに丸めするユニット の複数を指定する文字列。有効な基本単位は、秒、分、時、日、 週、月、バイモン、四半期、半年、または年です。任意のユニーク ピリオドコンストラクタのような英語略語もサポートされています。 複数の単位(週を除く)の丸めは、 v1.6.0からサポートされています。

+0

Vooを編集します!どうもありがとうございます。あなたは私の人生をとても簡単にしました。 –

関連する問題