2

しばらくの間、棒グラフを作成しようとしていますが、助けが必要です:

name    <- c('t1','t2')
reading <- c('yyyggrggryyy','grgrgrrryyyy')
df <- data.frame(name, reading)

読み取り値は「y」、「g」、または「r」のみで、文字列の長さは常に 12 です。次のように、名前ごとに読み取り値を積み上げ棒グラフに「変換」しようとしました。

t1 積み上げ棒グラフ:

Color  Height
------ ------
yellow 3
green  2
red    1
green  2
red    1
yellow 3

ありがとう

4

2 に答える 2

7
> df <- data.frame(name=rep(name, each=12), 
                   reading=unlist(sapply(reading, strsplit, split="")))
> df
               name reading
yyyggrggryyy1    t1       y
yyyggrggryyy2    t1       y
yyyggrggryyy3    t1       y
yyyggrggryyy4    t1       g
snipped
grgrgrrryyyy4    t2       r
grgrgrrryyyy5    t2       g
grgrgrrryyyy6    t2       r
grgrgrrryyyy7    t2       r
grgrgrrryyyy8    t2       r
grgrgrrryyyy9    t2       y
grgrgrrryyyy10   t2       y
grgrgrrryyyy11   t2       y
grgrgrrryyyy12   t2       y

 qplot(reading,  data=df, geom="bar")+facet_grid(~name)

ここに画像の説明を入力

積み上げ棒グラフが必要な場合は、積み上げたいグループ化変数と同じ x 引数を渡す必要があります。

qplot(x=name,  data=df)+facet_grid(~name)+geom_bar(aes(fill = reading))

ここに画像の説明を入力

于 2013-08-06T21:38:46.360 に答える