2017-02-20 8 views
0

私のデータは、かなりの数の観察(N = 10M)のために既に周波数形式で要約されています。頻度データのヒストグラム

例えば、それは次のような形式(DF)である:

base <- data.frame(x=round(rnorm(1000,mean=100,sd=10),1)) 
df <- base %>% group_by(x) %>% summarize(n=n()) 

がどのように私はggplot2のヒストグラムを作成するには、このデータを使用できますか?私は手動でビンを作成せずに前にこれをやったことが分かっていますが、私は人生のためにどのように覚えていません。

ggplot() + geom_histogram(aes(rep(df$x, df$n))) 

ありがとうございます。私はデータを再変換しないでください。

はあなたにもgeom_barを使用することができますgeom_col/geom_bar

+2

'gfpl(df、aes(x、n))+ geom_col()'です。 'aes 'の中で' $ 'を使わないでください。代わりに適切な' data'引数を使用してください。 – Axeman

+0

@ Axemanのコメントは正しいようです。私は 'width = 1'を追加してヒストグラムのように見えるようにします。' ggplot(df、aes(x、n))+ geom_col(width = 1) ' – scoa

+0

ありがとうございます。非整数データであり、ビン幅を設定することはできません。 例: '基地< - data.frame(X = ROUND(rnorm(1000平均= 100、SD = 10)、1)) DF <- base %>%のGROUP_BY(X)%>%集計(N = n()) ' –

答えて

0

の使用を妨げる非整数の例を提供するために、編集しました。

ggplot(df, aes(x, n)) + geom_bar(stat = 'identity') 
+0

xの値が均等に分布していない場合は、これは機能しません。さらに、代替binwidthを扱うことはできません。例: 'base < - data.frame(x = round(rnorm(1000、平均= 100、sd = 10)、1)) df <- base %>%group_by(x)%>%summarize(n = n ()) ' –

関連する問題