R语言学习总结:
安装地址:R语言官网下载
软件仓库:
CRAN ------ install.packages('name')
Bioconductor --------- source("https://bioconductor.org/biocLite.R")
biocLite('name')
GitHub --------- library(devtools)
install_github('name')
一般流程:
安装软件包(只需要安装一次,其他时候直接是导入软件包 library('包名'))
清除已有环境变量
设置工作目录
加载软件包
读取文件
执行命令
结果写入
图片输出
本地帮助系统
help.start()
help(heatmap) ?heatmap #得到heatmap的帮助页面
apropos("plot") #找出帮助中有plot的函数
help.search("plot") #列出在所有帮助页面含有plot的函数
find("plot") #得到名为plot的程序包
args("plot") #得到名为plot的自变量列表
数组
array(data=NA,dim=length(data),dimnames=NULL)
矩阵
matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames=NULL)
data 为一个向量,其元素用于构建 矩阵
nrow 矩阵的行数
ncol 矩阵的列数
byrow 是否按行填充
dimnames 矩阵行列的名字
建立数据框的方法(函数)
read.table() 表格式文件
read.csv() 逗号分隔的文件
read.delim() tab键分隔的文件
程序运行
在R内部 source("input.R")
在命令行CMD Rscript input.R
命令行参数传递 commandArgs(trailingOnly=FALSE)
数据转换 类型检测
is.data.frame is.character is.list is.factor is.numeric
类型转换
as.data.frame as.array as.matrix as.vector as.list
读取数据框格式数据
read.table() #读取混合模式列表数据
read.table(file, #数据文件名
header=FALSE, #是否表头
sep="", #列(字段)分隔符
quote="\", #字符串标示符
dec=".", #小数点提示符
row.names, #指定行名
col.names, #指定列名
na.strings="NA", #缺省值提示符
comment.char="#" # 注释标示符
rt
str(rt)
write.table() #数据的存储
write.table(x,
file="data.txt",
ncolumns=if(is.character(x)) 1 else 5,
append=FALSE)
高级绘图函数
plot(x) 以x的元素值为纵坐标,以序号为横坐标绘图
plot(x,y) x与y的二元作图
pie(x) 饼图
boxplot(x) 盒形图 也称箱线图
hist(x) x的频率直方图
barplot(x) x的值得条形图
pairs(x) 如果x是矩阵或者数据框
coplot(x~y|z) 做x的各列之间的二元图,关于z的每个数值(或数值区间)的绘制
matplot(x,y) 二元图 其中x的第一列对应y的第一列
qqnorm(x) 正态分位数--分位数图
images(x,y,z) x,y,z三元图
heatmap(x) 热图
共同参数选项
add=FALSE
axes=TRUE
TYPE="p" 指定图形的类型,“p”: 点 "l":线 "b":点连线 "o":同上,但是点在线上 "h":垂直线 "s":阶梯式,垂直线顶端显示数据 "S":同上,但是是垂直线低端显示数据;
xlim=,ylim= 指定轴的显示范围
xlab,ylab= 坐标轴的标签
main 主标题
sub 副标题
低级绘图函数
points(x,y) 添加点
lines(x,y)text(x,y,tables,...) 添加线
mtext(text,side=3,line=0,.....) 在(x,y)处添加用labels指定的文字
segment(x0,y0,x1,y1) 从(x0,y0)各点到(x1,y1)各点曲线段
arrows(x0,y0,x1,y1) 同上,而且添加箭头
abline(a,b) 绘制斜率为b和截距为a的直线
abline(h=y) 在纵坐标处画水平线
abline(v=x) 在横坐标x处画垂直线
abline(lm,obj) 画出lm,obj确定的回归线
rect(x1,y1,x2,y2) 绘制长方形,(x1,y1)为左下角,(x2,y2)为右上角
polygon(x,y) 绘制链接x,y坐标确定的点的多边形
legend(x,y) 在点(x,y)处添加图例,说明内容有legend的给定
title() 添加标题,也可添加一个副标题
axis(side,vect) 画坐标轴
box() 在当前的图上加边框
rug(x) 在x轴上用短线画出x数据的位置
locator(n,type="n",...) 获取鼠标在图中点击处的坐标
绘图参数介绍 help(par)
adj 控制关于文字对齐方式
bg 背景色
bty 图形边框形状
cex 符号和文字的大小 cex.axis cex.lab cex.main cex.sub
col 颜色 col.axis col.lab col.main col.sub
font 文字字体 font.axis font.lab font.mian font.sub
las 坐标轴刻度数字标记方向
lty 连线的线性
lwd 线的宽度
mar 图形边空的大小
mfcol,mfrow c(nr,nc)的向量,前者按列分割绘图窗口,后者按行分割绘图窗口
pch 绘制符号的类型
ps 文字大小
pty 绘图区域类型
tck 轴刻度长度,tck=1时,则绘制grid
xaxt,yaxt 如果xaxt="n",设置x轴不显示,如果yaxt="n",设置Y轴不显示
图片输出方式
直接输入绘图命令,一般直接打印到屏幕或者plots窗口
位图
png(file="out.png",height=800,width=600,units="px",res=72)
绘图命令
dev.off()
矢量图
pdf(file="out.pdf",height=8,width=6)
绘图命令
dev.off()
pdf尺寸单位是inch(英寸)
help(par)
par(mgp=c(1.6,0.6,0),mar=c(3,3,2,1))
x=1:10;y=1:10
cex_type=c(0.7,0.8,0.9,1,2,3,4,5,6,7)
plot(x,y,col="blue",pch=16,
cex=cex_type, #绘图符号大小,1是正常大小
cex.axis=1.1, #坐标轴刻度数字大小
cex.lab=1.2, #坐标轴标签大小
cex.sub=1.3, #副标题文字大小
cex.main=1.4, #标题文字大小
font.axis=3, #坐标轴刻度字体 斜体
font.lab=2, #坐标轴标签字体 粗体
font.main=4, #标题字体,粗斜体
font.sub=1, #副标题字体 正常
main="字体",
xlim=c(1,12),ylim=c(1,12))
text(x,y,adj=0,labels=paste("cex=",cex_type),col = "red",cex = 1.2,font = 3)
par(mgp=c(1.6,0.6,0),mar=c(3,3,2,1))
pch_type=c(1:5,15:19)
col_type=c(1:10)
x=1:10;y=rep(6,10)
plot(x,y,pch=pch_type,col=col_type,cex=2,main="pch",font.lab=2)
text(x,y,adj=-0.5,col=col_type,labels=paste("pch=",pch_type),srt=90)
閱讀更多 小豬伴 的文章