2016-08-04 11 views
-4

3列、年齢(整数)、重み(浮動小数点数)、および高さ(浮動小数点数)を含むデータ構造(データフレーム)を持ち、各年齢の平均および中央値の重量/高さを計算したい(例えば、10歳の平均体重/身長、11歳の平均体重/身長、12歳の平均体重/身長など)。参照コードの例があると思いますか?グループは平均でR

現在、私はPython numpy/pandasパッケージを使用してRの外部でgroup-by alike関数を実行しています。 group-byのRビルトインソリューションがあれば、それは素晴らしいでしょう。

に関して、 林

+2

あなたがパッケージを探している場合は、[dplyr](https://cran.rstudio.com/web/、ベースRの '' by'とtapply'機能のマニュアルを参照してくださいから3210 packages/dplyr/vignettes/introduction.html)は、この種の操作を行うための一般的なパッケージです。 –

+0

@WeihuangWong、投票していただきありがとうございます! –

+0

@DavidArenburg、ご報告いただきありがとうございます。私は質問をするときに次回調査したものを投稿します。 –

答えて

3

我々はdplyr

library(dplyr) 
df1 %>% 
    group_by(age) %>% 
    summarise_each(funs(mean)) 

それともdata.table

library(data.table) 
setDT(df1)[, lapply(.SD, mean), by = age] 

またはを使用してを使用することができますbase R

aggregate(.~age, df1, mean) 
+1

@DavidArenburg Opは、Rの初心者であり、グループごとに機能を知らなかった。 – akrun

+1

@DavidArenburg説明に基づいて、私は予想されたことについて完全にはわかっていませんでした。そこでいくつかのオプションを用意しました。 – akrun

+0

私はakrunのコメントと返事を大好きです。 R文書は混乱することがあります。 akrunからの回答ははるかに明確です。 –