データフレームは次のように作成されています。私が何をしたいかGGPLOTを使用して面取りされた相関プロットを作成する方法
library(ggplot2)
x <- data.frame(letters[1:10],abs(rnorm(10)),abs(rnorm(10)),type="x")
y <- data.frame(letters[1:10],abs(rnorm(10)),abs(rnorm(10)),type="y")
# in reality the number of row could be larger than 10 for each x and y
all <- rbind(x,y)
colnames(all) <- c("name","val1","val2","type")
は、おおよそ次のようになります多面的なggplot作成することです:
を従って、上記の各ファセットは、以下の相関プロットである:
# Top left facet
subset(all,type=="x")$val1
subset(all,type=="y")$val1
# Top right facet
subset(all,type=="x")$val1
subset(all,type=="y")$val2
# ...etc..
しかし、私は次のコードがついています:
p <- ggplot(all, aes(val1, val2))+ geom_smooth(method = "lm") + geom_point() +
facet_grid(type ~)
# Calculate correlation for each group
cors <- ddply(all, c(type ~), summarise, cor = round(cor(val1, val2), 2))
p + geom_text(data=cors, aes(label=paste("r=", cor, sep="")), x=0.5, y=0.5)
これは正しい方法はありますか?
タイプは、ご希望のプロット画像としなければなりませんか?有用なggpairs関数を持つggAllyパッケージがあります。それは私があなたのサンプルデータと所望のプロットとの間の接続を見るのに苦労しています。 – mnel
あなたのデータにないmpgとwtを参照するのは特に紛らわしいです – alexwhan
申し訳ありません。私はそれを修正しました。それを指摘してくれてありがとう。 – neversaint