[解決済み] dplyrによる相対度数/比率の計算
2022-02-16 02:08:53
質問
各グループ内で異なる値の比率を計算したいとします。例えば
mtcars
のデータは、どのように計算するのでしょうか?
相対
の数の頻度
歯車
によって
アム
(自動/手動)を一括して
dplyr
?
library(dplyr)
data(mtcars)
mtcars <- tbl_df(mtcars)
# count frequency
mtcars %>%
group_by(am, gear) %>%
summarise(n = n())
# am gear n
# 0 3 15
# 0 4 4
# 1 4 8
# 1 5 5
実現したいこと
am gear n rel.freq
0 3 15 0.7894737
0 4 4 0.2105263
1 4 8 0.6153846
1 5 5 0.3846154
解決方法は?
これを試してみてください。
mtcars %>%
group_by(am, gear) %>%
summarise(n = n()) %>%
mutate(freq = n / sum(n))
# am gear n freq
# 1 0 3 15 0.7894737
# 2 0 4 4 0.2105263
# 3 1 4 8 0.6153846
# 4 1 5 5 0.3846154
から dplyrヴィネット :
複数の変数でグループ化した場合、各サマリーはグループ化のレベルを1つずつ剥離していきます。そのため、データセットを段階的にロールアップすることが容易になります。
このように
summarise
で指定された最後のグループ化変数が
group_by
の「ギア」が剥がされる。その中で
mutate
ステップでは、残りのグループ化変数(ここでは'am')によってデータがグループ化されます。各ステップでのグループ化の確認は
groups
.
ピーリングの結果は、もちろん、グループ化変数の順番に依存します。
group_by
を呼び出します。その後に続く
group_by(am)
のように、より明示的なコードにすることができます。
四捨五入やプリフィケーションについては、@Tyler Rinker さんのナイスアンサーを参照してください。
関連
-
[解決済み】 'height' はベクトルか行列でなければならない barplot のエラー
-
[解決済み】ggplotの線幅を変更するには?
-
[解決済み】Rで「パッケージ'FILE_PATH'のインストールで終了ステータスが0でなかった」。
-
[解決済み】rbind エラー。"名前が以前の名前と一致しない"
-
[解決済み】reshape2 meltの警告メッセージ
-
[解決済み】x[[i]]でのエラー:レベル2で再帰的インデックス作成に失敗した
-
[解決済み】Rエラー。"新しい列は既存の列の後に穴を空ける"
-
[解決済み] 因子を日付形式に変換するにはどうすればいいですか?
-
[解決済み] [Solved] read.csv warning 'EOF within quoted string' prevents complete reading of file.
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】R:関数に有限な'ylim'値が必要
-
[解決済み] promise already under evaluation: recursive default argument reference or earlier problems?
-
[解決済み】エラー:私のコードで予期しないシンボル/入力/文字列定数/数値定数/SPECIALが発生した
-
[解決済み】ggplotの線幅を変更するには?
-
[解決済み】RでのMLEエラー:'vmmin'の初期値が有限でない
-
[解決済み】エラー。Rの'break'の数が無効
-
[解決済み】RでAIC中に行数が変化するのはなぜですか?そうならないようにするにはどうしたらいいですか?
-
[解決済み】長いオブジェクトの長さは、短いオブジェクトの長さの倍数ではない?[重複]。
-
[解決済み】r Error dim(X) must have a positive length?
-
[解決済み】Rで結果の行数がベクトル長(arg 2)の倍数でない件