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)
閱讀更多 小豬伴 的文章