2016-01-15 9 views
5

多くの国で同じ回帰からの推定値と信頼区間を使ってグラフを生成しようとしています。私はdplyrgroup_by(country)を使って回帰を実行した後、すべての結果をbroomtidy()というデータフレームに集約しました。ggplot2:coord_flip()と自由尺度でのgeom_pointrange()facet_grid()

bycountry1と呼ばれる)は、このデータフレームからグラフを作成するときに、私は次のコードを実行します。私が持っているしたいことを除いて

ggplot(bycountry1, aes(x = country, y = estimate, ymin = estimate - std.error * 2, ymax = estimate + std.error * 2)) + 
    geom_hline(yintercept = 0, colour = "black", lty = 2) + 
    geom_pointrange() + 
    coord_flip() + facet_grid(. ~ term, scales = "free") 

here is the graph I get

をこれは、私が欲しいものですそれぞれのボックスの縮尺が異なるので、すべてがreligious1のようになります。それが最も変動性のあるものであるため、スケールを支配し、他のほとんどのボックスでは分散を見ることができません。上のコードが示しているように、私はをfacet_grid()に指定しましたが、すべてのバリアントをfacet_wrap()と一緒に試しましたが、これを動作させることはできません。

+2

方法:ここでは、コードのですか? – aosmith

+0

それはいい考えです。ありがとう!私はそれを前に試してみましたが、それはすばらしく見えませんでしたが、私はあなたが 'geom_errorbarh'の' height'を修正し、 'geom_point'を追加して私が探していたものを正確に得ることができることを見ました。私は今あなたの提案と答えを追加します。再度、感謝します! –

答えて

3

アオスミスの提案に続いて、geom_errorbarhを使用し、coord_flip()を削除して動作させました。また、geom_errorbarhheightを0に設定し、推定値としてgeom_pointを追加する必要がありました。使用して `geom_errorbarh`の代わりに、`水平エラーバーを取得するcoord_flip`について

ggplot(bycountry1, aes(y = country, x = estimate, xmin = estimate - std.error * 2, xmax = estimate + std.error * 2)) + 
    geom_vline(xintercept = 0, colour = "black", lty = 2) + 
    geom_point() + 
    geom_errorbarh(height = 0) + 
    facet_grid(. ~ term, scales = "free") 

し、得られた画像

enter image description here