基础
class查看数据的属性
获取元素的符号[]
rm(list=ls())删除环境变量
sort,排序,反回排序后的值
sort(cat,decreasing=T)降序排
grep表示抓取,返回的是数字,grepl返回的是逻辑值
A%in%B,表示A是否存在于B,一个个判断
使用逻辑值提取数据
d[d%in%“ERPBB2”]
返回:"ERBB2"
使用逻辑提取数据,相当于取交集
但取交集也有专门的函数,intersect(x,y)
数据框
获取列名colnames()
获取行名rownames()
如何了解一个数据库,看头head(),看尾tail()
class看属性,dim看维度,str看结构
最直观,test<- exprSet[1:10,1:10]
逻辑常用来提取行
首先产生逻辑,再为逻辑生成一个数据框
subset,选行的一个重要函数
subset,第一个数据,第二个选行(逻辑值),第三个是列,名称
mydata2 <- subset(exprSet,exprSetsubgroup == "Normal",select =c(1:2000))
交叉合并
merge函数,merge(a,b,by="xx")
矩阵
性价比最高的函数t()
*因子就是分类器,会给出这个数据有几个level,但是因子转数字之前需要先转成字符串
d <- as.numeric(as.character(a))
字符串
strsplit函数,切割,表示切割为所有字符
list如何变成unlist,unlist()
截取字符串:substring(dd1,14,15)
字符串的连接:paste函数paste("A","B","C",sep = "_")
paste0直接把元素连接,默认的sep=“”
sep连接输入的元素
字符串替换gsub,gsub("A","B",C),把C中的A换成B,C为数据
dplyr 包
dplyr::select筛选列,使用位置或者名称都可以
mutate增加新的列
arrange对行排列,默认从小到大,加上desc变成从大到小
exprSet5 <- exprSet4 %>%
arrange(desc(newcolumn))
distinct去重,默认保留重复中的第一个
exprSet6 <- exprSet5 %>%
distinct(symbol,.keep_all = T)
select(-xx)删除多余的列
tidyr包
separate:拆分列
正确指定切割符号
expr_df1 <- expr_df %>%
tidyr::separate(gene_id,into = c("gene_id","drop"),sep="\.")
删除不需要的列
expr_df2 <- expr_df %>%
tidyr::separate(gene_id,into = c("gene_id","drop"),sep="\.") %>%
dplyr::select(-drop)
unite合并列
exprSet <- test %>%
tidyr::unite("gene_id",gene_name,gene_id,gene_biotype,sep = "|") #合并信息
如何使用,第一个参数是最终的列名,后面接着都是需要合并的列
pivot_longer:宽表变长表
就是减少列,增加行,让表达数据看起来更长
data <- exprSet %>%
pivot_longer(cols=3:6,
names_to= "gene",
values_to = "expression")