ggplot2 画线性回归图

本介绍如何使用R 可视化库 ggplot2 画拟合的线性回归模型。

语法

# ggplot(data,aes(x, y)) +
#   geom_point() +
#   geom_smooth(method='lm')

语法基本格式,其中还包括一些参数后面示例会涉及。

1. 简单示例

下面通过几个示例进行说明。

#create dataset
data <- data.frame(y=c(6, 7, 7, 9, 12, 13, 13, 15, 16, 19, 22, 23, 23, 25, 26),
                   x=c(1, 2, 2, 3, 4, 4, 5, 6, 6, 8, 9, 9, 11, 12, 12))

#fit linear regression model to dataset and view model summary
model <- lm(y~x, data=data)
summary(model)

library(ggplot2)

ggplot(data, mapping = aes(x, y)) + geom_point() + 
  geom_smooth(mothod="lm", se=FALSE )

在这里插入图片描述

se=FALSE 表示不显示置信区间,默认显示。

下面示例增加了一些主题样式:

#create regression plot with customized style
ggplot(data,aes(x, y)) +
  geom_point() +
  geom_smooth(method='lm', se=FALSE, color='turquoise4') +
  theme_minimal() +
  labs(x='X Values', y='Y Values', title='Linear Regression Plot') +
  theme(plot.title = element_text(hjust=0.5, size=20, face='bold')) 

在这里插入图片描述

2. 实际示例

mpg 是ggplot2包提供38种流行品牌汽车燃油消耗数据.
hwy :highway miles per gallon (每加仑英里数)
drv : the type of drive train, where f=front-wheel drive, r=rear wheel drive, 4=4wd
displ : engine displacement, in litres(发动机排量,以升为单位)
class : “type” of car (汽车类型)

我们还可以在geom_smooth中增加过滤条件:

ggplot(data = mpg,  mapping = aes(x = displ,  y = hwy)) +
  geom_point(mapping = aes(color = class)) +
  geom_smooth(data = filter(mpg,  class == "subcompact"),se = FALSE )

每种类型的点使用不同颜色。
在这里插入图片描述

下面示例对比不同驱动类型的趋势拟合情况,使用facet_wrap可以一次性画多个图进行对比:

ggplot(data = mpg) +
  geom_point(mapping = aes(x = displ,  y = hwy)) +
  geom_smooth(mapping = aes(x = displ, y = hwy, color=drv)) +
  facet_wrap(~ drv,  nrow = 1)

在这里插入图片描述

引用: R的基础包里面也有很多函数,例如plot();barplot();qqplot(); 但是还有大名鼎鼎的ggplot2包,用这个包的函数出的比较漂亮,而且使用灵活。 ggplot2是R语言中一个非常流行的数据可视化包,它提供了一种基于层(layer)的绘系统。这意味着你可以通过逐步堆叠层来构建复杂的形。ggplot2的灵活性和美观度使其成为数据科学家和统计学家喜爱的工具之一。 ggplot2包的绘函数可以用于绘制各种类型的形,如散点、折线、直方等。你可以根据自己的需求自定义形的外观和布局。此外,ggplot2还支持添加回归线、标注坐标轴等高级功能,使得形更加丰富和详细。 使用ggplot2包进行绘的基本步骤包括:设置绘的数据源、指定x和y轴的变量、选择绘类型、添加层、设置形的主题和标注等。通过这些步骤,你可以创建出具有专业水准的高质量像。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [R语言 神器ggplot2包](https://blog.csdn.net/qq_41692878/article/details/104017127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [R语言绘ggplot2包](https://blog.csdn.net/dollyh/article/details/74332208)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值