编程语言入门学习考核用-r语言基础与绘图_第1页
编程语言入门学习考核用-r语言基础与绘图_第2页
编程语言入门学习考核用-r语言基础与绘图_第3页
编程语言入门学习考核用-r语言基础与绘图_第4页
编程语言入门学习考核用-r语言基础与绘图_第5页
已阅读5页,还剩46页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主要内容简介基础绘图ggplot2总结主要内容简介基础绘图ggplot2总结参考资料基础绘图与统计高级绘图简介与特点简介可编程语言互动性程序包更新免费开放帮助系统“R开发 团队”S语言贝尔Ross

Ihaka和RobertGentleman开发统计分析图形显示编制自己的函数扩展现有的语言速度快,种类多输入输出窗口+图形输出窗口错误提示、 功能与其他编程语言和数据库之间有很好的接口全世界最大、最前沿的统计学家思维的

地主要内容简介基础绘图ggplot2总结R基础http:

/>命令行工作空间路径程序包(package)的操作基础install.packages(“ggplot2”)#安装包library(“ggplot2”)installed.packages()remove.

packages()detach()#加载包#查看已加载并可以使用的包

#卸载包#卸除包数据结构基础数据类型:数值型、字符型、逻辑型等常用函数基础函数功能head(object)查看对象的开始部分tail(object)查看对象的结尾部分str(object)显示对象的结构length(object)显示对象的元素或成分个数dim(object)显示对象的维度,针对矩阵/数据框object输出对象mode(object)显示对象的类型,返回numeric/logical/character/list等t(object)转置对象names(object)显示对象各成分的名称fix(object)直接编辑对象newobject<-edit(object)编辑对象并另存为newobjectrbind(object1,object2,…)将对象按行合并cbind(object1,object2,…)将对象按列合并常用统计函数基础函数功能max(x)最大值min(x)最小值mean(x)均值median(x)中位数range(x)数值的范围whi

ax(x)最大值下标whi

in(x)最小值下标var(x)方差sd(x)标准差sum(x)总和数据结构--向量基础定义:用于数值型、字符型或逻辑型数据的一维数组c()创建向量,eg:a<-c(1,

2,

3,

4,

5,

6)b<-c("one",

"two",

"three")c<-c(TRUE,

FALSE,

TRUE,

TRUE,

FALSE)seq()、rep()创建有规律的数值型向量,eg:x<-1:5y<-seq(-5,5,

by=1)z<-rep(c(1,4,6),

times=3):通过带方括号的位置下标vector[number],eg:a[1]、a[c(2,4)]、a[2:6]数据结构--矩阵、数组基础定义:二维数组,每个元素都拥有相同的模式。matrix()创建矩阵。eg:mymatrix<-matrix(1:15,nrow=3,ncol=5,byrow=TRUE)cells<-

c(1,26,24,68)rnames

<-

c("R1",

"R2")cnames<-

c("C1",

"C2")>matrix<-matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(#默认是按列进行填充:位置下标运算。eg:ames))mymatrix[1,2]、mymatrix[,c(1,3)]、mymatrix[c(1,2),2:5]数组:与矩阵类似,维度可以大于2。array()创建。数据结构--数据框1基础定义:与矩阵类似,但不同的列包含不同类型的数据。data.frame()创建,eg:df<-data.frame(Name=c("Alice",

"Becka",

"James",

"Jeffrey",

"John"),Sex=c("F",

"F",

"M",

"M",

"M"),Age=c(13,13,12,13,12),Height=c(56.5,65.3,57.3,62.5,59.0),Weight=c(84,98,83,84,99)):

[]内位置下标运算或列名或用$选取某一列。eg:df[1,2]、df[,2]或df[[2]]; df[c("Sex",

"Name")];

df$Name数据结构--数据框2基础矩阵转换为数据框x<-data.frame(mymatrix)#采用data.frame()将矩阵转为一个数据框

new_df<-as.data.frame(mymatrix)#采用as.data.frame()强制转换因子变量分为类别型、有序型或连续型变量,而类别型和有序类别型变量称为因子。它决定了后续分析时处理这类变量自动选择合适的统计方法。status<-c("Poor",

"Improved",

"Excellent",

"Poor")>status<-factor(status,ordered=TRUE,

levels=c("Poor","Improved",

"Excellent"),

labels=c("P","I","E"))#factor()将因子转化为整数向量数据结构--列表基础定义:一些对象的有序集合。其各元素类型可以是任意对象,不同元素不必是同一类型。最为复杂。list()创建,eg:>lst<-list(name='fred',wife='mary',no.children=3,child.ages=c(4,7,9)):双重方括号中指 表某个成分的位置数字或名称。eg:

lst[[2]]或lst[["wife"]]以及$的使用。数据的读写基础read.table()导入数据文件>top10<-read.table('otu_table.p10.group.relative.xls',header=T,

s=1,sep='\t')head(top10)write.table()将数据写入logtop10<-log(top10+0.000001)>write.table(logtop10,file='logtop10.xls',sep='\t',quote=TRUE)图形输出基础先打开一个图形设备pdf():把图输出到pdf文件,括号里可以写文件名关闭图形设备Eg:pdf("bioysy")plot(x,y)dev.off()类型:pdf,png,jpeg等实战练习基础不同数据类型的操作向量矩阵数据框文件的读写常用函数的操作主要内容简介基础绘图ggplot2总结绘图基础绘图图形函数主要包含3个方面:高级绘图函数--用于创建新的图形低级绘图函数--在已存在图形上添加新元素图形参数--用于优化图形显示,图形参数可作为绘图函数的选项,也可以用函数par()来全局性地

改变绘图参数常用绘图函数绘图plot(x,y)matplot(x,y)barplot(x)pie(x)hist(x)boxplot(x)hclustheatmapVennDiagram散点图、点线图、折线图二元图柱状图饼状图直方图箱线图聚类图热图(

pheatmap

包)(VennDiagram包)低级绘图函数绘图title(main=,sub=,xlab=,…)添加标题axi

e=,at=,labels=,tck=,pos=,…)创建自定义坐标轴abline(h=y,v=x)添加参考线abline(a,b)绘制斜率为b截距为a的直线legend(x,y,legend)添加图例text(x,y,labels)在(x,y)处添加labels指定的文字

mtext(text,side=,line=0,…)在边空添加用text指定的文字

points(x,y)添加点lines(x,y)添加线arrows(x0,y0,x1=,y1=,length=,angle=,…)添加箭头,从x0到x1,y0到y1画箭头curve(expr,from=,to=)添加曲线par()定义参数绘图par(optionname=value,…)par(mfrow=c(nr,nc))图形组合,一页多图

par(pin=c(width,height))图形尺寸

par(mar=c(bottom,left,top,right))边界尺寸par(fig=c(x1,x2,y1,y2),new=TURE)多图叠加或排布成一幅图散点图--plot(x,y)绘图基本用法:

plot(x,y,type=,main=,sub=,xlab=,ylab=,xlim=,ylim=,las=,pch=,cex=,col=,lty=,lwd=…)参数说明:type

#绘图类型

main,sub,xlab,ylab,xlim,ylim,axes,ann,yaxt,xaxt#标题和坐标轴相关lty,

lwdpch,

cex,

colfont,

las,

family#线类型相关

#点类型相关

#字体相关散点图--plot(x,y)绘图>plot(c(1:25),

c(rep(0,14),

1:6,

rep(0,5)),

main="plot()",sub="Type

ofPointand

Line",xlab="point

symbols",ylab="line

ypes",

ylim=c(0,6),

type="p",pch=1:25,

col="blue",

cex=2,

cex.lab=1.2,

font=2,las=1)>abline(h=1:6,lty=1:6,lwd=2,col="red")二元图--matplot(x,y)绘图基本用法

matplot(x,y,type=,lty=,lwd=,..)Eg:>data<-read.table("plot_otu.txt",header=T)>

y<-data[,2:length(data)]>

attach(data)>matplot(series,y,ylab="Observed

SpeciesNumber",xlab="SequencesNumber",lty=1,lwd=2,type="l",col=1:9,cex.lab=1.2,cex.axis=0.8)>legend("topleft",lty=1,lwd=1.5,legend=names(y),cex=0.8,col=1:9)柱状图--barplot(x)绘图基本用法:

barplot(mat,width=1,space=NULL,beside=FALSE,horiz=FALSE,names.arg=…)Eg:>top10<-read.table("otu_table.p10.group.relative.xls",header=TRUE,s=1,sep="\t")>barplot(as.matrix(top10),col=rainbow(10),ylab=

"GroupName",xlab="Relative

Abundence",

main="Phylum-level

speciesannotation",font=2,cex.lab=1.2,las=1,beside=T,horiz=T,xlim=c(0,0.7))>legend("topright",legend=rownames(top10),col=rainbow(length(rownames(top10))),pch=15,inset=0.01,cex=0.6)柱状图--barplot(x)绘图饼图--pie(x)绘图基本用法pie(x,

labels

=

names(x),

radius

=

0.8,

col

=

NULL,

,

...)Eg:>relative<-c(0.270617,0.177584,0.194911,0.054685,0.048903,0.033961,0.031195,0.188143)>taxon<-c("Sordariales","Pleosporales","Agaricales","Hypocreales","Pezizales","Eurotiales","Helotiales","Others")ratio<-round(relative*100,2)ratio<-paste(ratio,"%",sep="")label<-paste(taxon,ratio,sep="

")>pie(relative,labels=label,main="ITS1-SampleS1",radius=0.8,col=rainbow(length(label)),cex=0.6)library(plotrix)fan.plot(relative,labels=label,main="Fan

plot")饼图--pie(x)绘图饼图--pie(x)绘图library(plotrix)>pie3D(relative,labels=label,explode=0.01,col=rainbow(length(label)),border="purple",font=2,radius=0.95,labelcex=0.7)直方图--hist(x)绘图基本用法hist(x,

breaks

=

"Sturges",

freq=FALSE,

col=

c(),…)Eg:par(mfrow=c(1,2))>seqlength<-read.table("sequence_length",,header=T,s=1)seqlength<-as.matrix(seqlength)>hist(seqlength,breaks=10,col="red",freq=FALSE,main="Histogram,dengsity

curve",ylab="Density",xlab="Sequence

length",ylim=c(0,0.6))lines(density(seqlength),col="blue",lwd=2)>h<-hist(seqlength,breaks=10,col="red",freq=TRUE,main="Histogramwith

normal

curve

and

box",ylab="Density",xlab="Sequence

length")直方图--hist(x)绘图xfit<-seq(min(seqlength),max(seqlength),length=40)yfit<-dnorm(xfit,mean=mean(seqlength),sd=sd(seqlength))yfit<-yfit*diff(h$mids[1:2])*length(seqlength)lines(xfit,yfit,col="blue",lwd=2)box()箱线图--boxplot(x)绘图基本用法:boxplot(x,

...);

boxplot(formula,

data

=

…)Eg:otu=read.table("otu_stat.txt",h=T,sep="\t")>otu$group1<-factor(otu$group1,levels=c("H","C"),labels=c("H","C"))>otu$group2<-factor(otu$group2,levels=c("Z","W"),labels=c("早期","晚期"))>boxplot(otu~group1*group2,data=otu,col=c("red","red","green","green"),varwidth=T,main="OTU

distribution

bytime",xlab="Time",ylab="Observed

species",at=c(1,2,4,5))箱线图--boxplot(x)绘图聚类图--hclust绘图基本用法hclust(distance,

method

=

“complete”,

members

=

NULL)Eg:distance<-read.table("unweighted_unifrac_dm.txt",

head=T)distance<-as.dist(distance)h<-hclust(distance,

method="average")plot(as.dendrogram(h),main

=

"Sample

Cluster",horiz=T)热图--heatmap绘图基本用法pheatmap(mat,color=,breaks=,border_color=“grey60”,scale=

“none”,cluster_rows=TRUE,cluster_cols=TRUE,clustering_distance_rows=“euclidean”,clustering_distance_cols=“euclidean”,clustering_method=“complete”,…)Eg:install.packages("pheatmap")library(pheatmap)>x<-read.table("cluster.g.txt",sep="\t",header=T,s=1)pheatmap(x,scale="row",fontsize=8)>breaks=c(seq(0,0.02,length=50),seq(0.0201,0.05,length=20),seq(0.0501,0.1,length=10),seq(0.101,0.3,length=20))pheatmap(x,breaks=breaks,cluster_rows=F)热图--heatmap绘图--Venndiagram绘图基本用法venn.diagram(x,

filename)Eg:install.packages("VennDiagram")library("VennDiagram")>ven<-list(sample1=20:50,sample2=c(1:30,50:80),sample3=40:90,sample4=c(10:30,70:100))>venn.diagram(ven,filename='venn.png',cex=1.2,col="black",alpha

=

0.50,lwd=1.2,cat.cex=1.4,fill=c("cornflowerblue",

"green","Gold1","darkorchid1"),margin=0.15)主要内容简介基础绘图ggplot2总结基本概念ggplot2数据(Data):必须是数据框。(Map

):aes()将数据变量

到图形中,从而使变量成为可感知的图形属性。几何对象(Geometric):用不同的几何对象,可以生成不同的图形,点几何对象>散点图,线几何对象>折线图...绘图对象:数据+

。ggplot()函数创建绘图对象。例:p

<-

ggplot(diamonds,aes(carat,price,colour=cut)),一种统计变换,一种几何对象,一图层(Layer):数据+图形属性种位置调整方式。p

<-

p+layer(geom=”piont

”)标度(Scale):图形对数据的

(解释)。统计变换(Statistics):对数据进行某种汇总。坐标系统(Coordinate):

坐标系、极坐标系、对数坐标系。分面(Facet):将数据以某种方式拆分成各个子集,分别作图。ggplot2PCAlibrary(ade4)library(ggplot2)library(grid)>data

<-

read.table("otu_table.even.txt",

head=T,s=1,

sep="\t")>groups

<-

read.table("group.list",head=F,colClasses=c("character","character"))data

<-

t(data)ata))],

scannf=F,

nf=5)pca

<-

dudi.pca(data[,1:ncoPC1

<-

pca$li[,1]PC2

<-

pca$li[,2]>plotdata

<-data.frame(rownames(pca$li),PC1,PC2,groups$V2)colnames(plotdata)

<-

c("sample","PC1","PC2","group")pc1

<-

floor(pca$eig[1]*10000/sum(pca$eig))/100pc2

<-

floor(pca$eig[2]*10000/sum(pca$eig))/100ggplot2PCAP<-ggplot(plotdata,

aes(PC1,

PC2))P<-P+geom_point(aes(colour=group,sh

=group),size=4)P<-P+geom_text(aes(label=sample),size=3,family="serif",hjust=0.5,vjust=-1)P<-P+labs(title="PCA

Plot",x=paste("PC1(",pc1,"%)"),y=paste("PC2(",pc2,"%)"))P<-P+geom_vline(xintercept=0,linetype="dotted")P<-P+geom_hline(yintercept=0,linetype="dotted")P<-P+facet_wrap(~

group,

nrow=2)PCAggplot2RDA/CCAggplot2library(vegan)library(ggplot2)library(grid)>data

<-

read.table("otu_table.even.txt",head=T,s=1,sep="\t")>envdata

<-

read.table("env.list",header=TRUE,s=1,sep="\t")>groups

<-

read.table("group.list",

head=F,colClasses=c("character","character"))>data

<-

t(data)#DCAdca

<-

decorana(veg

=

data)>AL

<-

data.frame(DCA1=c(max(dca$rproj[,1])),DCA2=c(max(dca$rproj[,2])),DCA3=c(max(dca$rproj[,3])),DCA4=c(max(dca$rproj[,4])),

s=c("Axislength"))RDA/CCAggplot2#CCAcca<-cca(data

~

.,envdata,scale=T)ccascore

<-

scores(cca)>CCAE

<-

as.data.frame(cca$CCA$biplot[,1:2])#CCASP

<-

as.data.frame(ccascore$species[,1:2])CCAS1

<-

ccascore$sites[,1]CCAS2

<-

ccascore$sites[,2]>plotdata

<-data.frame(rownames(ccascore$sites),CCAS1,CCAS2,groups$V2)colnames(plotdata)

<-

c("sample","CCAS1","CCAS2","group")plotdata$sample

<-

factor(plotdata$sample)pc1

<-

floor(cca$CCA$eig[1]/sum(cca$CCA$eig)*10000)/100pc2

<-

floor(cca$CCA$eig[2]/sum(cca$CCA$eig)*10000)/100RDA/CCAggplot2P<-ggplot(plotdata,

aes(CCAS1,

CCAS2))P<-P+geom_point(aes(colo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论