ggplot高级绘图举例

一、cars包中的Salaries数据集

1.查看原数据结构

library(ggplot2)
library(car)
head(Salaries)

原数据前六行

其中rank为学术等级,sex为性别,yrs.since.phd为获得博士学位的年数,yrs.service为工龄,salary为9个月的薪水。
2.查看薪水如何随学术等级变化

ggplot(Salaries,aes(x=salary,fill=rank))+geom_density()

数据有重叠,调整透明度

ggplot(Salaries,aes(x=salary,fill=rank))+geom_density(alpha=.3)


3.查看博士学位毕业年数与薪水关系

ggplot(Salaries,aes(x=yrs.since.phd,y=salary,color=rank,shape=sex))+geom_point()

修改为刻面图

ggplot(Salaries,aes(x=yrs.since.phd,y=salary,color=rank,shape=sex))+geom_point()+facet_grid(.~sex)

暂时忽略性别和学术等级,做非参数光滑曲线loess,即默认值smooth

ggplot(Salaries,aes(x=yrs.since.phd,y=salary))+geom_point()+geom_smooth()

显示不是线性的关系,则按性别拟合一个二次多项式回归

ggplot(Salaries,aes(x=yrs.since.phd,y=salary,linetype=sex,shape=sex,color=sex))+geom_point(size=2)+geom_smooth(method=lm,formula = y~poly(x,2),se=FALSE,size=1)

得出男性从0-30增加然后下降,女性一直上升,数据集中没有女性获得博士学位超过40年,男性大部分可以拿到很高的薪水。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容