【发布时间】:2019-05-30 16:08:31
【问题描述】:
我想生成一个图形,使用来自两个数据帧的数据(即,将 Data1 的 A 列与 Data2 的 A 列回归)显示该单个图形上的所有散点图。图中的每个图都应显示 R 平方和 p 值。我更想知道如何在从多个数据帧中获取数据时使用ggplot 的fact_wrap 函数。
我尝试了几种方法,但都没有成功。
library(tidyverse)
Data1=data.frame(A=runif(20, min = 0, max = 100), B=runif(20, min = 0, max = 250), C=runif(20, min = 0, max = 300))
Data2=data.frame(A=runif(20, min = -10, max = 50), B=runif(20, min = -5, max = 150), C=runif(20, min = 5, max = 200))
#method-1: using plot functions
par(mfrow=c(3,1))
plot(Data1$A, Data2$A)
abline(lm(Data1$A ~ Data2$A))
plot(Data1$B, Data2$B)
abline(lm(Data1$B ~ Data2$B))
plot(Data1$C, Data2$C)
abline(lm(Data1$C ~ Data2$C))
dev.off()
#method-2: using ggplot
ggplot()+
geom_point(aes(Data1$A,Data2$A))
我想要一个像下面这样的图
【问题讨论】:
-
Don't use
$inside youraes。将您的数据框绑定在一起并使用facet_wrap——查看构面文档 -
两个数据框中的列名是相同的 - 所以将它们组合起来会产生问题??
-
@GiovanaStein,这有助于但并没有完全解决我的问题 - 我正在努力添加趋势线以及在每个图的顶部指示 p 值和 r 平方值
-
您可以使用适当的名称将它们逐列绑定(
cbind或dplyr::bind_cols)。或根据标识符加入
标签: r ggplot2 annotations regression scatter-plot