這些都是我在實(shí)際工作學(xué)習(xí)中遇到的比較好用的一些小的學(xué)習(xí)技巧汹碱,將會(huì)持續(xù)更新:
根據(jù)需要加載和安裝R包
if(!require(dplyr))install.packages("dplyr")
默認(rèn)選擇數(shù)據(jù)所有行列
cluster_rows=T, cluster_cols=T
查找數(shù)據(jù)字符,可以一次全選或替換
Ctrl+F
將數(shù)據(jù)保存成表格,只對(duì)特定數(shù)據(jù)格式有效
write.csv(a,"a.csv")
保存成pdf文件,如果圖片字體重疊饶深,一般可以用width=30 锦募,height=20進(jìn)行調(diào)整,當(dāng)然也可以用ggsave保存圖片馆纳,如果Rstudio畫圖不顯示诗良,可以試試dev.new()創(chuàng)建新窗口
pdf("a.pdf")
畫圖內(nèi)容
dev.off()
將某一列數(shù)據(jù)進(jìn)行類型轉(zhuǎn)換,在做協(xié)變量分析時(shí)可能用到
mydata <- mutate(mydata,Sex=as.factor(Sex))
linux直接運(yùn)行R腳本,調(diào)用時(shí) Rscript 路徑名字/plot.R 輸入1 輸入2
args<-commandArgs(TRUE)
args[1]厕诡、args[2]
多行注釋
選中內(nèi)容累榜,然后按ctl+shift+c
匹配所有符合條件的選項(xiàng)
fnames<-Sys.glob("GO*.txt")
字符串替換
把"Missense_Mutation"和"Sense_Mutation"替換為1,其他替換為0
onco_matrix[onco_matrix == "Missense_Mutation"] <- "1"
onco_matrix[onco_matrix == "Sense_Mutation"] <- "1"
onco_matrix[onco_matrix != "1"] <- "0"
查看有多少種信息類型
unique(mytype$type_A)
并行運(yùn)算,在代碼后面添加
parallel = T
將B的行名賦值給A
row.names(B) <- row.names(A)
保證三個(gè)數(shù)據(jù)由同一列名
if (identical(rownames(gbm.cn), rownames(gbm.exp)) &
identical(rownames(gbm.cn), rownames(gbm.mut2)))
print("all data have same rownames")
Sys.setenv(LANGUAGE = "en") #顯示英文報(bào)錯(cuò)信息
options(stringsAsFactors = FALSE) #禁止chr轉(zhuǎn)成factor
使用save.image()保存當(dāng)前工作環(huán)境下的所有信息
save.image(file = "example.RData")
# 只保存當(dāng)前工作環(huán)境下的某一變量
save(gene_exp,file="gene_exp.RData"
加載保存的工作環(huán)境或變量
load(file = "example.RData")
load(file = "gene_exp.RData")
getopt封裝
library('getopt')
command=matrix(c(
'help', 'h', 0,'loical', '顯示此幫助信息',
'input', 'i', 2, 'character', '輸入文件灵嫌,csv格式壹罚,由HowToGetEasyInput.R腳本轉(zhuǎn)換的GSE文件HowToGetEasyInput',
'output', 'o', 1, 'character', '輸出文件'),
byrow=T, ncol=5
)
args=getopt(command)
# 當(dāng)未提供參數(shù)顯示幫助信息
if (!is.null(args$help) || is.null(args$input)) {
cat(paste(getopt(command, usage = T), "\n"))
q(status=1)
}
# 設(shè)置默認(rèn)值
if ( is.null(args$output)) {
args$output = "output.txt"
}
print("args$input")
print("Program execution is completed")
#matrix中5列分別為(長(zhǎng)參數(shù),短參數(shù)寿羞,參數(shù)類型猖凛,參數(shù)數(shù)據(jù)類型,參數(shù)說(shuō)明)
#參數(shù)類型:0:不需要參數(shù)绪穆,1:必須提供參數(shù)辨泳,2:可選參數(shù)
#參數(shù)說(shuō)明:可不寫此列虱岂,ncol=5該為 ncol=4
Classdiscovery包安裝:
devtools::install_github("xlucpu/MOVICS")
把染色體名從阿拉伯?dāng)?shù)字改為“chr1”、“chrX”的形式
scores[scores$Chromosome==23, "Chromosome"] <- "X"
scores[scores$Chromosome==24, "Chromosome"] <- "Y"
chrID <- unname(unlist(chrom$chrom2chr[as.character(paste0("chr",scores$Chromosome))]))
特定的注釋包下載菠红,可以下載到本地第岖,然后安裝
Bioconductor AnnotationData Packages
Bioconductor - 3.8 AnnotationData Packages
按照原圖的順序排列縱坐標(biāo)
pdat$Cancer_type <- factor(pdat$Cancer_type, levels = c("BRCA", "CHOL", "LIHC", "PAAD", "BLCA", "KICH", "KIRC", "KIRP", "PRAD", "TGCT", "CESC", "OV", "UCEC", "UCS", "SKCM", "SARC", "DLBC", "LAML",
"THYM", "GBM", "LGG", "UVM", "HNSC", "ACC", "PCPG", "THCA", "LUAD", "LUSC", "MESO", "ESCA", "STAD", "COAD", "READ"))
####默認(rèn)兩個(gè)Y軸范圍是一樣的,然而實(shí)際數(shù)據(jù)Y1和Y2范圍差距很大试溯,因此需要用Y1和Y2的數(shù)值計(jì)算兩個(gè)Y軸的比例
(scaleFactor <- max(pdat$Sig)/ max(pdat$Prop))
將所有樣本中count值均為0的基因所在行去除
dds <- dds[rowSums(counts(dds) > 0) != 0 ,] #dds[rowSums(assay(dds) > 0) != 0 , ]