今天学习使用tidry包
tidry包是何方神圣
功能
tidry包是把需要用的数据处理成标准而统一的数据框
(1)数据框的变形
(2)处理数据框中的空值
(3)根据一个表格衍生出其他表格
(4)实现行或列的分割和合并
1、新建数据框
a<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18))
代码解释
rep,重复,括号中填要重复的字符和重复次数。
paste,连接两个字符串,括号要填两个待连接字符并指定分隔符(sep),没有分隔符就填sep=“”。
1:3表示从1到三。如需一列中需要填入三个无规律的数字,可以用向量c(1,3,4),同样如果填的是字符串也需要加双引号,例如c("doudou","huahua","xiaoyu")。
了解概念:key-value--“键值对” ,表示一种对应关系。“键”和“值”都是列名,如SampleName和Expression的对应。
函数后面一般都要加括号,括号里第一个参数是都数据框名
字符串要加双引号(行名和列名也是字符串,但是可以不用加),其他单元格(姑且这么叫了)里出现的字符串要加。
行 raw
列 column,简化写法为col
gather函数
使用前代码
pin2<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18))
gather(pin2,GeneId,SampleName,Expression)
在处理表格时会遇到NA值,对于NA怎么办呢?
三种处理方式:
(1).删除整行 drop_na(X,X2)#括号里填数据框名,依据的列名(有空值那一列的列名)
(2).根据上下文蒙一个 fill(X,X2)
(3).同一列的空值填上同一个数。replace_na(X,list(X2=2)) #括号里填数据框名,要填的列名=要填的值
separate函数
separate:按列分割
separate_rows:按行分割
unite:分割完了再合并回去
代码
separate(pin2,Expression,into=c("a","b"))#pin2表格的Expression分割成a,b
separate_rows(pin2,Expression)#pin2按照行分割
unite(pin2,a,b,col="Expression",ser="")#将分割的a,b重新合并成Expression