搜索
查看: 2511|回复: 3

qplot,Y叔说这个影响学绘图的基本语法

[复制链接]

64

主题

138

帖子

681

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
681
发表于 2017-7-20 17:06:16 | 显示全部楼层 |阅读模式
[AppleScript] 纯文本查看 复制代码
> library(nlme)
> library(ggplot2)
> model<-lme(height~age,data=Oxboys,random=~1+age|Subject)
> oplot<-ggplot(Oxboys,aes(age,height,group=Subject))+geom_line()
> age_grid<-seq(-1,1,length=10)
> subject<-unique(Oxboys$Subject)
> preds<-expand.grid(age=age_grid,Subject=subject)
> preds$height<-predict(model,preds)
> oplot+geom_line(data=preds,colour="#3366FF",size=0.4)#没看懂

Preds
> Oxboys$fitted<-predict(model)
>  Oxboys$fitted

with类似attach,加新的数据
> Oxboys$resid<-with(Oxboys,fitted-height)#类似于attach,加数据
> oplot%+%Oxboys+aes(y=resid)+geom_smooth(aes(group=1))#group到底是什么

update是refit一个模型
> model2<-update(model,height~age+I(age^2))
> Oxboys$fitted2<-predict(model2)
> Oxboys$resid2<-with(Oxboys,fitted2-height)
> oplot%+%Oxboys+aes(y=resid2)+geom_smooth(aes(group=1))

 
 
基本作图类型
> df<-data.frame(x=c(3,1,5),y=c(2,4,6),label=c("a","b","c"))
> p<-ggplot(df,aes(x,y,label=label))+xlab(NULL)+ylab(NULL)
> p+geom_point()+ggtitle("geom_point")#ggtitle是题目

 
> p+geom_line()+ggtitle("geom_line")

> p+geom_area()+ggtitle("geom_area")#填充图

> p+geom_path()+ggtitle("geom_path")#路径图

> p+geom_text()+ggtitle("geom_text")#文字标识

 
 
> p+geom_tile()+ggtitle("geom_tile")#tile plot 瓦

> p+geom_polygon()+ggtitle("geom_polygon")#多边形

> depth_dist<-ggplot(diamonds,aes(depth))+xlim(58,68)
> depth_dist+geom_histogram(aes(y=..density..),binwidth=0.1)+facet_grid(cut~.)#分面

 depth_dist+geom_histogram(aes(fill=cut),binwidth=0.1,position="fill")#根据cut充满

depth_dist+geom_freqpoly(aes(y=..density..,colour=cut),binwidth=0.1)

 
通过散点形状和大小控制重叠
> df<-data.frame(x=rnorm(2000),y=rnorm(2000))
> norm<-ggplot(df,aes(x,y))
> norm+geom_point()

 
> norm+geom_point(shape=1)
 

> norm+geom_point(shape=".")

通过透明度(black)控制
> norm+geom_point(colour=alpha("black",1/3))

norm+geom_point(colour=alpha("black",1/5))

 
 
> norm+geom_point(colour=alpha("black",1/10))

扰动表示法(jitter)
> td<-ggplot(diamonds,aes(table,depth))+xlim(50,70)+ylim(50,70)
> td+geom_point()

> td+geom_jitter()

> jit<-position_jitter(width=0.5)
> td+geom_jitter(position=jit)#(慢慢扩大)

> td+geom_jitter(position=jit,colour=alpha("black",1/10))

 
> td+geom_jitter(position=jit,colour=alpha("black",1/50)) 

> td+geom_jitter(position=jit,colour=alpha("black",1/200))

标记
> unemp<-qplot(date,unemploy,data=economics,geom="line",xlab="",ylab="No.unemployed(1000s)")
> unemp

分组
Facet grid
> unemp<-qplot(date,unemploy,data=economics,geom="line",xlab="",ylab="No.unemployed(1000s)")
> unemp
> mpg2<-subset(mpg,cyl!=5&drv%in%c("4","f"))#去子集
> qplot(cty,hwy,data=mpg2)+facet_grid(.~cyl)#根据cyl分面

 qplot(cty,data=mpg2,geom="histogram",binwidth=2)+facet_grid(cyl~.)

> qplot(cty,hwy,data=mpg2)+facet_grid(drv~cyl)#

边缘控制
> p<-qplot(displ,hwy,data=mpg2)+geom_smooth(method="lm",se=F)
> p+facet_grid(cyl~drv)

 
#我觉得就是画类拟合曲线




上一篇:开贴刷代码实践,行动代号335
下一篇:从NR库提取特定物种分类的序列
回复

使用道具 举报

64

主题

138

帖子

681

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
681
 楼主| 发表于 2017-7-20 19:34:08 | 显示全部楼层
ehbio 发表于 2017-7-20 17:46
R绘图学习R语言学习  -  入门环境RstudioR语言学习  - 热图绘制  (heatmap)R语言学习  -  基础概念和矩阵操 ...

谢谢
回复 支持 反对

使用道具 举报

7

主题

15

帖子

116

积分

注册会员

Rank: 2

积分
116
QQ
发表于 2017-9-28 14:02:46 | 显示全部楼层
不推荐使用qplot()函数,我学过的资作者料都不推荐这样,应该有道理,我也从没用它实际画图做事。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-9-21 09:33 , Processed in 0.030035 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.