R语言

[ggplot2]初步认识

2020-02-18  本文已影响0人  巩翔宇Ibrahimovic

作为R里面用途最广泛的一个画图包,是必须要学会的。数据分析的过程无法给人瞬间展示出来,但是画图却可以,接下来几天,我就看看这个R包怎么用,能做什么。

安装并加载

> install.packages("ggplot2")
> library(ggplot2)

绘制核酸多样性的散点图。

首先使用ggplot(d)来提供数据框的画板(注意ggplot2只能对数据框进行操作,所以在画图前务必确保数据的简洁性且为数据框格式)。其次,添加图层,+来做连接。可以是点(geom_point()),也可以是其他类型 ,e.g., geom_line(), geom_bar(), geom_density(), geom_boxplot().

#读取
d <- read.csv("Dataset_S1.txt",header = T,stringsAsFactors = F)
#设置新变量
d$position <- (d$end+d$start)/2
#作点图,并给x和y轴添加标题
ggplot(d)+geom_point(aes(x=position,y=Divergence))+xlab("chromose position(basepair)")+ylab("nuvleotide diversity")
#改变颜色
ggplot(d)+geom_point(aes(x=position,y=Divergence),color="red")
#改变点的透明度,来减少点的覆盖,通过alpha这个选项
ggplot(d)+geom_point(aes(x=position,y=Divergence),alpha=0.01)

做密度图

ggplot(d) + geom_density(aes(x=Divergence), fill="black")

添加一条曲线,而不是设置透明度来表示趋势。

ggplot(d, aes(x=depth, y=total.SNPs)) + geom_point() + geom_smooth()
#默认曲线是有置信区间的,可以添加geom_smooth(se=FALSE)去掉置信区间
ggplot(d, aes(x=depth, y=total.SNPs)) + geom_point() +geom_smooth(se=FALSE)

Binning(discretization) Data with cut() and Bar Plots with ggplot2**

#cut()将数据分成相同大小的区间
d$GC.binned <- cut(d$X.GC, 5)
d$GC.binned
#使用table()进行计数
table(d$GC.binned)

柱状图的使用

ggplot(d) + geom_bar(aes(x=GC.binned))

ggplot(d) + geom_density(aes(x=depth, linetype=GC.binned), alpha=0.5)

素材来源:
https://github.com/vsbuffalo/bds-files
(Chapter8 R)
参考资料:
《Bioinformatics Data Skills》

上一篇下一篇

猜你喜欢

热点阅读