2016-04-12 16 views
3

でカウント頻度のヒストグラムを作成します。のは、私は、次のデータフレームを持っているとしましょうggplot2

d = data.frame(letter = c(
    'a', 'a', 'a', 
    'b', 'b', 'b', 
    'c', 
    'd', 'd', 'd', 'd', 
    'e', 'e', 
    'f', 'f', 'f', 'f', 'f', 'f', 'f', 
    'g')) 

は、どのように私は与えられた手紙が発生した回数を数えるのではなく、カウントしていないヒストグラムを作るためにggplot2を使用することができます与えられた文字頻度が発生する回数?この例では:

table(d$letter) 

a b c d e f g 
3 3 1 4 2 7 1 

2文字(CおよびG)、1つの文字(e)は、2つの文字はあなたが基本プロットにフィギュア相当を作ることができるようなことなど、3回発生する二回発生し、一度発生します。

hist(table(d$letter), right = F, breaks = 6) 

base histogram

答えて

2

あなたは、データフレームにtableの結果を変換してから使用することができますggplot

df <- as.data.frame(table(d$letter)) 
ggplot(df, aes(x = Freq)) + 
    geom_histogram(binwidth = 1) 

enter image description here

周波数を含む列がデフォルトであるため、この作品はFreqと呼ばれる:

head(df) 
## Var1 Freq 
## 1 a 3 
## 2 b 3 
## 3 c 1 
## 4 d 4 
## 5 e 2 
## 6 f 7 

あなたが整数の間に位置するバーを持っているしたい場合は、ビンを中央にcenter = 0.5を使用することができます半整数で。私はまた、closed = "left"を使用hist()right = FALSEに相当する:

ggplot(df, aes(x = Freq)) + 
    geom_histogram(binwidth = 1, center = 0.5, closed = "left") + 
    scale_x_continuous(breaks = 1:7) 

enter image description here

関連する問題