2017-12-11 18 views
1

こんにちは、以下の頻度/パーセント値を持つ2つのデータフレームがあります。ggplot2:x軸の値が重複している2つのグラフをプロットする

Value Frequency Percentage 
2   1 2.777778 
3   7 19.444444 
4  19 52.777778 
5   9 25.000000 


Value Frequency Percentage 
1   2 3.773585 
2   3 5.660377 
3   8 15.094340 
4  20 37.735849 
5  20 37.735849 

ご覧のとおり、値は同じ範囲1〜5に属します。しかし、場合によっては、いくつかの値には頻度がありません(df 1に値1がありません)。 2つのgeom_linesを使用して同じグラフにパーセント値をプロットするにはどうすればよいですか?私は両方の線が1-5の共通のx軸を持つようにします。

答えて

0
df1<-data.frame(Value = c(2,3,4,5), 
       Frequency = c(1,7,19,9), 
       Percentage = c(2.777778,19.444444,52.777778,25.000000) 
       ) 

df2<-data.frame(Value = c(1,2,3,4,5), 
       Frequency = c(2,3,8,20,20), 
       Percentage = c(3.773585,5.660377,15.094340,37.735849,37.735849 
       ))    

df1$N<-factor(1) 
df2$N<-factor(2) 

df3<-rbind(df1,df2) 

library(ggplot2) 

plot<-ggplot(df3,aes(Value,Percentage, color = N))+ 
    geom_line() 
print(plot) 

https://i.stack.imgur.com/Iua2d.png

+0

をプロットするために、タグ変数を作成し、両方のデータセットを結合する行ができますx軸は2,3,4,5,1として命じられた。私は何を間違えたのですか? –

+0

[明確にする]データフレームの名前を変更してコードを使用しただけですが、「各グループは1つの観測で構成されています。グループの審美性を調整する必要がありますか?だから私はグループ= Nを使った。それではプロットが作成されますが、順序2,3,4,5,1はそこにあります。コードをそのまま使用すると、問題はありません。 –

+0

あなたのデータフレームにValue変数が順序付けられた要素ですか?クラスを使用する(df3 $値) – XabiR

0

あなたは、二つのデータ・セットを識別し、私はそれをしようとしたとき

df1 = data.frame(Value = c(2,3,4,5), 
       Frequency = c(1,7,19,9), 
       Percentage = c(2.77,19.44,52.77,25)) 
df2 = data.frame(Value = c(1,2,3,4,5), 
       Frequency = c(2,3,8,20,20), 
       Percentage = c(3.77,5.66,15.09,37.73,37.73)) 

df1$Type = "A" 
df2$Type = "B" 

dfw = rbind(df1,df2) 

ggplot(data = dfw, aes(x = Value, y = Percentage, color = Type)) + geom_line() 
関連する問題