R包学习
准备工作
- 小抄
公众号回复,https://www.rstudio.com/resources/cheatsheets/网站下载 - tidyr
一个数据处理包,把数据处理成标准统一的数据框 - 下载安装
install.packages("tidyr")
library(tidyr)
- 数据框基础
bioplanet<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18)) #rep是重复;paste连接字符串,其中sep表示分隔符;c是向量
tidyr
- reshape data
gather使每个变量(variable)占一列,每个情况(case)和观测值(observation)占一行;key-value表示一种对应关系,各一列:
a<-data.frame(country=c("A","B","C"),
"1999"=paste(c(0.7,37,212),"k"),"2000"=paste(c(2,80,213),"K"))
gather(a,X1999,X2000,key = "year",value = "cases")
或者
gather(a,year,cases,-country)
- missing data
drop_na(X,X2) #去掉X这个数据框中X2那列的空值所在的行
fill(X,X2) #填充上一行数值
replace_na(X,list(X2=2)) #把X2这列空值填上2
- expand table
complete(X,nesting(X1),fill=list(X2=5))
expand(bioplanet,GeneId,SampleName, Expression) #列出列所有组合值
- split cells
seperate和seperate_row,但感觉用起来需要有分隔符,限制较大