2016-09-29 6 views
0

私は、列V2と長さの棒グラフを作成したいと思います。また、各グループの標準偏差を数字からlengthにプロットします。エラーバーを持つグループのバープロットを作成する

> head(Length_filter3) 
      V1 V2           V3 length 
1 URS00000081EA snRNA    AAACTCGACTGCATAATTTGTGGTAGTGGG  30 
2 URS00000081EA snRNA    AAACTCGACTGCATAATTTGTGGTAGTGGGG  31 
3 URS00000081EA snRNA   AAACTCGACTGCATAATTTGTGGTAGTGGGGGACT  35 
4 URS0000008112A tRNA   AAACTCGACTGCATAATTTGTGGTAGTGGGGGACTG  36 
5 URS000000812A tRNA AAATGTGGGAAACTCGACTGCATAATTTGTGGTAGTGGGGGACT  44 
6 URS0000008121EA tRNA     AACTCGACTGCATAATTTGTGGTAGTGGG  29 


ggplot(Length_filter3, aes(V2,length)) + geom_bar(stat="identity") 
+1

'length'は各バーの単一の数字です。単一の数値は標準偏差を持たない。どうか明らかにしてください。 – Axeman

+1

@ user2300940あなたが求めている多くの質問に対して、あなたのために働く答えを認めていれば礼儀正しくなります。 *誰かが私の質問に答えるときに何をすべきですか?* http://stackoverflow.com/help/someone-answers – FXQuantTrader

答えて

2

私はへのエラーバーは存在しないと思われるため(例えば平均として、あなたは要約統計のいくつかの並べ替えを作成するために探していると仮定して、というよりもRNAの種類のすべての合計の長さをプロットしようとしています話す)。

棒グラフでなければならない場合は、値を自分で計算する必要があります。ここで、私は手動で私は(dplyrを使用して)irisデータから必要な範囲を計算しています:

summarizedData <- 
    iris %>% 
    group_by(Species) %>% 
    summarise(
    mean = mean(Petal.Length) 
    , sd = sd(Petal.Length) 
    , low = mean + sd/(sqrt(n())) * qt(0.025, n()-1) 
    , high = mean + sd/(sqrt(n())) * qt(0.975, n()-1) 
) 


ggplot(
    summarizedData 
    , aes(x = Species 
     , y = mean 
     , ymax = high 
     , ymin = low) 
) + 
    geom_bar(stat = "identity") + 
    geom_linerange() 

enter image description here

また、あなたが使用して喜んでいる場合は特に、ggplotがあなたのために仕事をさせることができます代わりにバープロットのポイントとエラーバー(私はこのようにそれを好む傾向にある)

ggplot(
    iris 
    , aes(x = Species 
     , y = Petal.Length) 
) + 
    stat_summary(fun.data = mean_cl_normal) 

enter image description here

好きな場合は、これらのアプローチを組み合わせることもできます。

0

try FUN function in ggplot stdevを選択してください。

+0

これは問題を解決するための貴重なヒントかもしれませんが、良い答えが解決策を示しています。あなたが意味することを示すサンプルコードを提供するために[編集]してください。代わりに、これをコメントとして書くことを検討してください。 –

関連する問題