1.R里的字符串提取
- 还是要对正则表达式多少了解一些
regexpr
和regmatches
搭配使用,regexpr
定位字符串中的指定模式的位置和对应字符数等信息,regmatches
则返回指定模式匹配的字符;
file<- "PFS/Rule1.txt"
pattern <- 'R.+\\d+'
tmp<- regexpr(pattern,file)
f<- regmatches(file,tmp)
2.shell大文件切成小文件
cat test|split -l 2000 -d -a 3
-
-l
按列切割 -
-d
切割文件后缀为数字 -
-a
限定后缀的位数
3.eval与parse
eval(parse(text=paste0('survfit(fit.surv~',rownames(a)[i],
',data=data_t)')))
- parse 将字符串转换为表达式
- eval 对表达式进行求值
4.正常肿瘤样本区分
sample_tumor_side<- function(x){
# x=exp_tumor_LUAD
##########提取样本名#########
pa<- substr(colnames(x),1,12)
samp<- length(pa[!duplicated(pa)])
##########提取肿瘤样本名#########
tumor<- substr(colnames(x)[as.numeric(substr(colnames(x),14,15))<10],1,12)
tumor<- length(tumor[!duplicated(tumor)])
#####提取癌旁样本名##########
side<- substr(colnames(x)[as.numeric(substr(colnames(x),14,15))>=10],1,12)
side <- length(side[!duplicated(side)])
num <-c(samp,tumor,side)
names(num) <- c('numoftotal','numoftumor','side')
return(num)
}
5.windows脚本在ubuntu使用
### 先前脚本在windows git 使用,windows10 下安装unbuntu后,脚本无法正常使用,应是符号问题,直接采用dos2unix命令
sudo apt-tet install dos2unix
dos2unix test.sh
6.win10下ubuntu子系统挂盘
- 如果基于硬盘在电脑显示为F盘
sudo mount -t drvfs F: /mnt/f
7.R包注释常用命令-1
library(hgu133plus2.db)
####输出probeid和symbol的table
e2s<- toTable(hgu133plus2SYMBOL)
#####对所有样本生成probeid水平的均值####
ex <- as.data.frame(ex)
ex$mean<- apply(ex,1,mean)
ex$probe_id <- rownames(ex)
#####merge命令进行id转换#####
ex<- merge(ex,e2s,by='probe_id')
#####依据symbol为主mean为辅进行排序,并去重####
ex<- ex[order(ex$symbol,ex$mean),]
ex <- ex[!duplicated(ex$symbol),]
8.R包注释常用命令-2
E2S <- select(org.Hs.eg.db,keys=keys(org.Hs.eg.db),columns = c('SYMBOL','ENSEMBL'))
9.Rcolorbrewer2网页加载不出来
library(RColorBrewer)
display.brewer.all()
image.png