2017-03-09 28 views
0

私はrのggplotに苦労しています。私はそれにプロットされた3つの変数 - 小さな苗木、中位の苗木、大きな苗木で折れ線グラフを作成しようとしています。 X軸は「平均苗木数」、Y軸は「鳥類の豊富さ」でなければなりません。ここでR GGPLOT2同じY軸を持つ複数行

は、抽出物である:

birdspp smallsaplings mediumsaplings largesaplings 
95  5.044642857  2.384615385  1.30952381 
97  3.482269504  1.873684211  1.390625 
63  6.285714286  2    2.4 
57  5.216216216  1.666666667  1.125 

私の問題は、私は私の人生のために1つのグラフ上のすべての3本のラインをプロットする方法を考え出すことはできません!

私は2つのアプローチを試みました。伝統的な希望に満ちた道...

ggplot(data, aes(y=birdspp, x=saplings)) + 
    geom_line(aes(x = smallsaplings, colour = "blue"))+ 
    geom_point(aes(x = smallsaplings, colour = "blue")) + 
    geom_line(aes(x = mediumsaplings, colour = "green")) + 
    geom_point(aes(x = mediumsaplings, colour = "green")) + 
    geom_line(aes(x = largesaplings, colour = "red")) + 
    geom_point(aes(x = largesaplings, colour = "red")) 

which produces this monstrosity :(

とリシェイプライブラリから溶融機能を使用して...私は

mdf <- melt(mdf, id.vars="Sapplings", value.name="value", variable.name="birdspp") 
ggplot(data=mdf, aes(x=Sapplings, y=value, group = birdspp, colour = birdspp)) + 
    geom_line() + 
    geom_point(size=4, shape=21, fill="white") 

謝罪誤差は疑いの余地なく明らかである場合には、初心者。

+0

1つの問題は、 'ggplotにあなたのメイン・コールではx = saplings'です。この列はデータに存在しません。また、データを「長い」形式に変換すると、プロットがずっと簡単になります。このようなもの: 'library(reshape2); gemplot(melt(data、id.var = "birdspp")、aes(x = value、y = birdspp、color = variable))+ geom_line()+ geom_point() ' – eipi10

+0

元のアプローチでは、 'ggplot(data、aes(y = birdspp))+ geom_line(aes(x = smallsaplings)、color =" blue ")'のように各行をプロットすることができます。 – eipi10

+0

私は近づいています!グラフはここにあります、私はちょうどベストフィットのラインで苦労しています。 geom_lineはすべてのポイントを結びつけ、理想的にはgeom_ablineがほしいと思っていますが、動作していないようです。 – JazTheBilloligist

答えて

2

これは古典的な「ワイドからロング」問題です。データを整理すると簡単です。そのため、苗木タイプの列と平均数の列があります。

library(dplyr) 
library(tidyr) 

df1 %>% 
    gather(sapling_type, mean_number, -birdspp) 

今苗木の種類によってggpplotと色にあなたができるパイプ。私はラインについては確信していません。多分最初の点から始めるでしょう。

df1 %>% 
    gather(sapling_type, mean_number, -birdspp) %>% 
    ggplot(aes(mean_number, birdspp)) + geom_point(aes(color = sapling_type)) 

結果: enter image description here

+0

ありがとう!これは素晴らしいです、私は今グラフを持っており、ちょうどベストフィットのラインで苦労しています。 Geom_lineまたはgeom_ablineはこれでうまくいきません。もし私がそれを把握すれば教えてくれます! – JazTheBilloligist

+0

グループ(苗木タイプ)ごとのラインまたはすべてのポイントを通るラインが必要ですか? – neilfws

+0

苗木タイプごと。この後ろの生物学は、苗木が断片化された森林の種の豊かさを変えないことを示しているに過ぎません。非常に興味深いもの。彼らはあなたが興味を持っているならば、木の円周(森の年齢)によってより影響を受けているようです! – JazTheBilloligist

関連する問題