はR

2017-09-30 14 views
0

で分割表からクラスタ化されたバープロットを作成これは、分割表の結果である:はR

rating high low medium 
1  158 1 36 
2  77  2 25 
3  106 10 36 
4  82  56 71 
5  60  97 62 

私はこのようなクラスタ化されたバープロットを作成する必要があります。

enter image description here 私はそれをどのように行うことができますか? 棒グラフとggplotを試しましたが、うまくいきませんでした。

+0

バーをかわすだけ。 http://ggplot2.tidyverse.org/reference/geom_bar.html –

答えて

1

それはggplotで動作するようになってとのトリックは、あなたが、本質的に3つの情報が必要であることを実現することである:1)ratinghighmedium、およびlowの2)の値、およびに使用される3)色差別化する。問題は、データが現在この形式ではないことです。 tidyversegather関数を使用してこの問題を解決し、データをプロットすることができます。

library(tidyverse) 

dat = data_frame(rating=1:5, high=c(158, 77, 106, 82, 60), medium=c(1, 20, 10, 56, 97), low=c(36,25,36,71,62)) 
dat = dat %>% 
    gather(key=color, value=value, -rating) 
ggplot(data=dat, aes(x=rating, y=value, fill=color)) + 
    geom_bar(stat='identity', position='dodge') 

gather基本的に新しくの値として(私たちは色を呼び出しているもの)の列の束を取り、値として新たに作成されたkey変数を列名を使用して動作し、それらの列の値value列(これを値と呼ぶ)を作成しました。

+0

重要な点:あなたはメアリーの中位と下位の数字を交換しましたが、メアリーのように、あなたのプロットはアルファベット順に表示されます*高、低、中* -optimal – Henry

+0

@Henryああ、はい、それは私がスワップ 'medium'と' low'でした。正しい(おそらく)正しい順序でそれらを得るために、私は質問の主題としてそれを見なかったので、それに対処しませんでした。どのようにバー/色を並べ替えるかは、それ自身の質問でなければならず、間違いなくすでにここで答えられているものでなければなりません。 – brittenb

+0

@brittneb、背景を取り除き、プロット内の色を変える方法を教えてください。 – Mary