我正在尝试将两个数据集放到同一图中。我希望将一个数据集映射到左下角的xy轴,将另一个数据集映射到右上角的xy轴。
# Bottom-Left data set
PCscores <- data.frame(sample = paste("sample",1:10,sep="_"),
PC1 = c(-9,-8,-10,0,1,2,18,20,19,21),
PC2 = c(-8,-9,-10,2,0,1,21,19,18,19))
# Upper-Right data set
loadings <- data.frame(snps = letters[1:4],
pc1 = c(0.7,0.8,-0.5,-1),
pc2 = c(0.8,0.7,-1,-0.7),
FROM=0,
TO=0)
如果我尝试将它们放在一起,则两个数据集都将映射到左下xy轴。
ggplot(data = PCscores, aes(PC1,PC2)) +
geom_point() +
geom_segment(data = loadings,
aes(x = FROM, y = TO, xend = pc1, yend = pc2), arrow = arrow())
在ggplot2
中可以进行这种“双重”映射吗?如果不能,那么也欢迎使用基本的R
解决方案。