私は ggplot2 を使用して、エージェントベースのモデルでのいくつかのテストの結果を調べています。モデルは実現ごとに 3 つのラウンドのいずれかで終了する可能性があるため、ゲームが終了するラウンドと 2D 空間での相対的な位置に関して、プレーヤーのユーティリティがどのように異なるかに興味があります。
これはすべて、各ラウンドでこれを表示するために facet_wrap プロットを生成したことを意味していますが、各ファセットで表されるデータのサブセットの cor(x,y) で各プロットに注釈を付けたいと思います。注釈で facet_wrap によって生成されたデータのサブセットを使用することを ggplot2 に伝える方法はありますか? ここに私がこれまでに持っているコードと、それが生成しているものがあります
library(ggplot2)
# Load data
abm.data<-read.csv("ABM_results.csv")
# Create new colun for area of Pareto set
attach(abm.data)
area<-abs(((x3*(y2-y1))+(x2*(y1-y3))+(x1*(y3-y2)))/2)
abm.data<-transform(abm.data,area=area)
detach(abm.data)
# Compare area of Pareto set with player utility
png("area_p1.png",res=100,pointsize=20,height=500,width=1600)
area.p1<-ggplot(abm.data,aes(x=area))+geom_point(aes(y=U1_2,colour="Player 1",alpha=0.4))+facet_wrap(~round,ncol=3)+
annotate("text",0.375,-1.25,label=paste("rho=",round(cor(abm.data$area,abm.data$U1_2),2)), parse=TRUE)+
scale_colour_manual(values=c("Player 1"="red"))
area.p1+xlab("Area of Pareto Set")+ylab("Player Utility at Game End")+
opts(title="Final Player 1 Utility by Pareto Set Size and Round Game Ends",legend.position="none")
dev.off()
(出典: drawconway.com )
ご覧のとおり、次の 2 つの問題があります。
- \rho 値は、「ラウンド」によるサブセットではなく、完全なデータセットのものです。各プロットに表示されているデータのみに基づいて、cor(x,y) を印刷する方法はありますか?
- 注釈は「\rho=some_value」となるはずですが、代わりに「=(\rho,value);」と表示されます。これを修正する方法はありますか?