技术贴 | R语言:geom_smooth在散点图中添加多条回归直线

导读

R语言lm函数可对两组数据进行回归分析。geom_point函数可以将数据绘制成散点图,geom_smooth函数可以继续在图中添加回归直线。下面展示在一个图中绘制散点和多条回归直线的方法。

一、模拟输入数据

set.seed(1995)  
# 随机种子
data=data.frame(matrix(abs(round(rnorm(40, mean=20, sd=5))), 10, 4)) 
# 随机正整数,5行,4列
colnames(data)=c("y", "x1", "x2", "x3") 
# 列名
data  # 查看数据,如下

二、数据编辑

scale(data)
# scale函数标准化数据

data.frame(scale(data))

library(reshape)
data2=melt(data.frame(scale(data)), id="y")
# 使用melt函数将数据框里的数据以“y”变量为ID进行分组

三、ggplot画图

library(ggplot2)
# 加载画图包

pic <- ggplot(data=data2, aes(x=value, y=y, group=variable, color=variable)) +
labs(x=" ", y="y") +
# xy轴标签
geom_point() +
# 添加散点
geom_smooth(method="lm") +
# 添加线性回归直线
theme(panel.grid=element_blank(), panel.background=element_rect(fill='transparent', color='black')) +
# 去点网格、去掉背景、添加边框
guides(color=guide_legend(title="x"))
# 修改legend标题

ggsave(pic, file="pic.png", height=7, width=10)
# 打开结果png文件,如下:

(0)

相关推荐