length(x[x==0])>=2 提取某个元素 方法一
c(1,3,4,1,9,9,0,0,0)[c(1,3,4,1,9,9,0,0,0)==0]
a.m
Whether_2 <- function(x)
{
return(length(x[x==0])>=2)
}
apply(a.m,1,Whether_2)
a.m[apply(a.m,1,Whether_2),]
a.m[!apply(a.m,1,Whether_2),]
#自建函数,只要输入一个长的类似于"ENST00000641515.1|OR4F5-202|OR4F5|2618|protein_coding|"的字符串,
#就可以返回第一个 | 之前的名字
return_desired_position_value<-function(x,myposition){
strsplit(x,split = "|",fixed = T)[[1]][myposition]
}
return_desired_position_value("ENST00000641515.1|OR4F5-202|OR4F5|2618|protein_coding|",4)
dat=expr.df
dat$description=rownames(expr.df)
dat$name=unlist( lapply(rownames(expr.df),return_desired_position_value,1))
dat$genesymbol=unlist(lapply(rownames(expr.df),return_desired_position_value,6))
rownames(dat)=seq(1,length(rownames(expr.df)),1)
head(dat)[1:4,1:9] #调整矩阵列顺序 产生新的列,并调整新列的位置
dat2=dat %>% mutate(description=rownames(expr.df),
name=unlist( lapply(rownames(expr.df),return_desired_position_value,1)),
gene.symbol=unlist(lapply(rownames(expr.df),return_desired_position_value,6)) ) %>%
select(description,name,gene.symbol,everything())
head(dat2)[1:5,1:7]
#探索矩阵 发现一个基因对应多个探针
grep(pattern = 'protein',x=rownames(expr.df),value = T)[1:10]
grep(pattern ='SAMD11',x=rownames(expr.df))
expr.df[grep(pattern ='SAMD11',x=rownames(expr.df)),1:2]
#调整列的位置
library(dplyr)
exprdf2=expr.df %>% select(grep(pattern = "control",x=colnames(expr.df)),everything())
head(exprdf2)[1:9,1:6]
head(exprdf2)[,1:6]
exprdf2[1:9,1:6]
colnames(exprdf2)
length(rownames(exprdf2))