siAll さん、これは昨日の多くの質問のフォローアップです。以下にリンクを追加しようとしました
最新のコードは次のとおりです。
mypanel <- function(x,y,...) {
panel.xyplot(x, y, ...)
panel.grid(x=-1, y=-1)
panel.lmline(x,y,col="red",lwd=1,lty=1)
panel.text(200,20,bquote(rho == .(correls[x])),cex=.8, font = 2,col="black")
}
correls <- as.vector(cor(x=mtcars[,2:3],y=mtcars[,1]))
correls<- round(coeff,3)
names(correls)<-names(mtcars[,2:3])
data <- mtcars[,2:3]
charts <- lapply(names(data), function(x) { xyplot (mtcars[,1] ~ mtcars[,x],
panel=mypanel,ylab="MPG", xlab=x)})
コードにはラティスだけでなくデータセット mtcars も必要であり、LtticeExtra も必要になる可能性があると思います。
ご覧のとおり、相関係数を計算してグラフに追加したいと思います。テキスト gest が追加されましたが、2 つの問題があります。
- correls[x] の部分が思い通りに評価されていません。NA が返されます (コンソールでは単独で動作しますが、エラーを見つけるために常にチェックしています)。私はそれを修正する方法を知らないようです.ポインターでも役立つでしょう.脚の仕事を喜んで行います
- 一部のチャートでは座標が機能しません。これはラップリーで実行されているため、一部が表示されないことを意味します。この場合、最初のチャートではなく、2 番目のチャートでは有効です)。場所を自動にすることは可能ですか?何を探すべきか、何を使うべきかを示す単なる指針としていただければ幸いです
再度、感謝します
マリオ
更新、パネル番号で提案されたソリューションは機能しません。各チャートはlapplyによって個別に作成されるため、常に1であるため、必要なものが得られません。コードを修正して、配置と開始座標を処理しようとしました。ただし、常に表示されるとは限らず、何らかの理由で correl からの間違った要素も表示されるため、チャート1などを使用して手動でチャートを印刷する必要があることがわかります。
ここに最新のコードがあります
mypanel <- function(x,y,...) {
panel.xyplot(x, y, ...)
panel.grid(x=-1, y=-1)
panel.lmline(x,y,col="red",lwd=1,lty=1)
panel.text(xmax[x],ymax,bquote(rho == .(correls[x])),pos=4,cex=1, font = 2,col="black")
}
correls <- as.vector(cor(x=mtcars[,2:10],y=mtcars[,1]))
correls<- round(correls,3)
names(correls)<-names(mtcars[,2:10])
xmax <-sapply(mtcars[,2:10],max)
names(xmax) <- names(mtcars[,2:10])
xmax<-floor(xmax)
ymax <- floor(max(mtcars[,1]))
data <- mtcars[,2:10]
charts <- lapply(names(data), function(x) { xyplot (mtcars[,1] ~ mtcars[,x],
panel=mypanel,ylab="MPG", xlab=x,
xlim=c(0,ceiling(max(mtcars[,x])))
,ylim=c(0,ceiling(max(mtcars[,1]))))})
ポインタをありがとう
マリオ