0

Webサイトを検索しましたが、問題の解決策を見つけることができませんでした。次のようなサンプルデータセットがあります。

id,l1
1,3
2,5
3,6
1,5
2,4
3,6

idは名目変数であり、一意のユーザーを表し、もう1つはカウント変数です。

私が欲しいのは、ユーザーによるl1の分布を調べることです。したがって、指定されたデータセットを見ると、id=1の合計はl1=8です。id=2の合計はl1=9で、id=3の合計はl1=12です。

idに従ってl1の分布を見つけようとしていますが、行き詰まっています。関連する列をグループ化してから分布を見つける方法、または少なくともヒストグラムを作成する方法がわかりません。1つの変数でヒストグラムを作成することはできますが、名義変数でランク付けされた度数分布を作成することはできません。

4

1 に答える 1

2

base Rアプローチは使用することですtapply

data.frameが呼び出された場合aa

sumById <- with(aa, tapply(l1,id, sum)))

barplot(sumById)

ここに画像の説明を入力してください

明示的に推定せずに結果をプロットしたい場合はggplot2stat_summary

library(ggplot2)
ggplot(aa, aes(x = id, y = l1)) + stat_summary(fun.y = 'sum', geom = 'bar')

ここに画像の説明を入力してください

于 2013-03-19T02:55:37.940 に答える