0

Data1とData2の2つのデータフレームがあります。Data1には、日付と価格、およびティッカーがあります。Data2には、日付とボリュームおよびティッカーがあります。2つのデータフレームの長さは異なります。つまり、日付を1対1で一致させることはできないため、補間せずに1つのデータフレームに日付を入れることはできません。

価格と日付、ボリュームと日付を同じプロットにプロットしたいのですが、これは異なるレイヤーと異なるスケールを意味すると思います。しかし、私はティッカーにもファセットしたいと思います。

forループに頼らずにggplot2でこれを行うにはどうすればよいですか?

4

2 に答える 2

1

あなたのデータを見ることは助けになるでしょう、しかし私はこれがうまくいくはずだと思います。2つのデータセットの色を変えましたが、この方法で凡例が自動的に生成されるわけではなく、y軸には最初の変数のみがラベル付けされています。

ggplot(Data1, aes(Date, Price)) + facet_wrap(~ Ticker) + geom_line(color="blue") + geom_line(data=Data2, aes(date, Volume), color="red")
于 2012-09-27T19:58:42.367 に答える
0

さて、これがコメントで上に表現された私の考えを使った私の答えです。

ticks=c('JNJ','IBM','MSFT','GOOG','CAT','BAC') 
N1=100 
N2=200
Data1=data.frame(x=runif(N1),y=cumsum(runif(N1)),
                 ticks=sample(ticks,N1,replace=T), tag='data1')
Data2=data.frame(x=runif(N2),y=cumsum(runif(N2)),
                 ticks=sample(ticks,N2,replace=T),tag='data2')
D=rbind(Data1,Data2)

ggplot(data=D,aes(x=x,y=y,colour=tag))+geom_line()+facet_wrap(~ticks)

それは問題なく動作しますが、それでも変数の名前を変更する必要がありました。

于 2012-09-27T20:22:21.333 に答える