dplyr と group_by 関数が期待どおりに機能しないという問題があります。集計を使用して、group_by ステートメントに入力された id と year の一意の組み合わせごとに var1 の平均を取得することを期待しています。
このコードは、id と year の組み合わせごとに var 1 の平均を集計したい、id-year 観測を含む df を作成する必要があります。ただし、これは期待どおりに機能せず、出力は id を無視し、年のみを集計します。
df <- data.frame(id=c(1,1,2,2,2,3,3,4,4,5),
year=c(2013,2013,2012,2013,2013,2013,2012,2012,2013,2013),
var1=rnorm(10))
dplyr コード:
dfagg <- df %.%
group_by(id, year) %.%
select(id, year, var1) %.%
summarise(
var1=mean(var1)
)
結果:
> dfagg
Source: local data frame [8 x 2]
Groups: year
year var1
1 2013 0.22924025
2 2012 -0.93073687
3 2013 -0.82351583
4 2012 0.05656113
5 2013 -0.21622021
6 2012 1.91158209
7 2013 -2.67003628
8 2013 -0.72662276
何が起こっているのですか?
他のパッケージが dplyr 関数を中断していないことを確認するために、以下を試して同じ結果を得ました。
dfagg <- df %.%
dplyr::group_by(id, year) %.%
dplyr::select(id, year, var1) %.%
dplyr::summarise(
var1=mean(var1)
)