R 使用ggplot绘制多个单独的相关图

R 使用ggplot绘制多个单独的相关图,r,ggplot2,correlation,scatter,R,Ggplot2,Correlation,Scatter,这将是一个非常基本和天真的问题,但由于我的R和编程技能非常有限,我不知道如何解决它。如果你们能在这件事上帮助我,我将不胜感激 我想绘制多个相关图,将固定的x轴(Sepal.Length,在下面的示例中)与数据集中的每一列作为y轴(Sepal.Width、Petal.Length和Petal.Width)进行比较。我怀疑我可能需要使用apply,但我不知道如何在函数中构建它 现在我可以一个接一个地手动完成,但这一点都没有帮助。下面,我将分享我想应用于数据集中每一列的代码片段 ggplot(iris

这将是一个非常基本和天真的问题,但由于我的R和编程技能非常有限,我不知道如何解决它。如果你们能在这件事上帮助我,我将不胜感激

我想绘制多个相关图,将固定的x轴(Sepal.Length,在下面的示例中)与数据集中的每一列作为y轴(Sepal.Width、Petal.Length和Petal.Width)进行比较。我怀疑我可能需要使用apply,但我不知道如何在函数中构建它

现在我可以一个接一个地手动完成,但这一点都没有帮助。下面,我将分享我想应用于数据集中每一列的代码片段

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, color=Species)) + 
geom_smooth(aes(group = 1), method=lm,) + 
geom_point(size=4, shape=20, alpha=0.6)  + theme(legend.position="none") + 
annotate(x=min(iris$Sepal.Width),y=min(iris$Sepal.Width),hjust=.2, 
label=paste("R = ", round(cor(iris$Sepal.Width, iris$Sepal.Width),2)), 
geom="text", size=4)

生成所有绘图后,我的想法是使用grid.arrange软件包并排绘制所有绘图。

您看起来像这样吗

library(tidyr)
library(dplyr)
library(ggplot2)

iris %>% select(-Species) %>% 
  gather(YCol, YValue, -Sepal.Length) %>% 
  ggplot(aes(x=Sepal.Length, y=YValue)) + 
  geom_point() + 
  facet_grid(YCol~.)


它包含相同的
Y轴
,但如果您不需要,则可以使用
scales=“free_Y”

Hi-Prradep,非常感谢您的评论。这显然是一个选择,但我仍然面临一些问题。第一个是,我正在绘制12个图形,使用facet_grid属性在同一列中绘制所有图形,使每个图形缩小并超出比例。第二,我不知道如何绘制不同图的相关系数。尝试使用与ggplot中使用的相同的YValue参数,但出现错误。最后也是更容易修复的(但对我来说不是),当我尝试使用因子种类设置不同的颜色时,我得到了一个美学错误。知道如何解决吗?如果问题与此问题相关,请用详细信息更新问题。如果没有,那么相应地问一个新问题。