在前边的章节中,我们用生活满意度绘制了散点图。可以发现,人均GDP越高,生活满意度也就越高。但是,我们该怎样向看图表的人展示这种关联呢?这时,我们就要用到能够反映这种关联的模型拟合线。
library(ggplot2)
library(readxl)
dat=read_excel("happy full.xlsx") # 课件中的文件
dat=as.data.frame(dat)
p=ggplot(dat)+geom_point(aes(GDP_percap, Satisfaction)) # 首先画散点图,再添加拟合线
p+geom_smooth(aes(x=GDP_percap, y=Satisfaction), color="red", fill="blue", alpha=0.3) # 图中的平滑曲线以及周围代表置信区间的阴影较直观地展示出了数据中的关联
geom_smooth的参数包括:
●color、alpha、size、linetype:与线条相关的属性。请参阅对geom_line的介绍。(www.xing528.com)
●se:是否显示代表置信区间的阴影。默认为TRUE。
●level:绘制阴影所需的置信水平(默认值为0.95)。
●method:拟合何种模型。常用的为"lm"(线性模型)、"loess"(局部加权回归模型)、"glm"(广义线性模型)、"gam"(广义可加模型)。除了用字符赋值外,还可以直接把拟合模型使用的函数传给method,但最好注明函数来自哪个R包,以避免R找不到这个函数。比如,method="gam"就相当于method=mgcv::gam。默认状态下,method为"auto",这意味着在个案数小于1000时使用"loess",大于等于1000时使用"gam"。
●method.args:用list给出的模型额外参数。比如,如果要使用泊松模型,我们除了设置method="glm"外,还要设置method.args=list(family="poisson")。
●orientation:见第三章第一节关于coord_flip的内容。
# 在很多情况下,method="loess"的效果好于method="lm"的效果
p+geom_smooth(aes(GDP_percap, Satisfaction), color="red")+
geom_smooth(aes(GDP_percap, Satisfaction), color="green", method="lm")
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。