tidyr包的使用
它的功能主要有:
(1)数据框的变形
(2)处理数据框中的空值
(3)根据一个表格衍生出其他表格
(4)实现行或列的分割和合并
这个包是把你要用的数据处理成标准而统一的数据框,然后才能进行进一步的数据处理和作图
1.安装包的方法: install.packages("包名")
示例:
install.packages("tidyr")
为了能够快速下载并安装包,我们最好将包的获取地址改为国内的服务器,操作如下:
在使用的时候需要首先将包载入:
library(tidyr)
准备工作
新建数据框:
a<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18))
结果显示为:
GeneId =,SampleName= ,Expression= #表示列明
rep()函数
rep(x,times) #表示重复x多少次
例如:
> rep("a",3)
[1] "a" "a" "a" #显示结果
paste()函数,是将两个变量连接起来的函数
#用法:
paste (..., sep = " ", collapse = NULL)
示例:
> paste("1st", "2nd", "3rd")
[1] "1st 2nd 3rd" #显示结果
有两个参数:
sep:表示连接的两个字符之间以什么连接起来
collapse:是表示将初步连接起来的结果,以什么连接
示例:
paste(c(1,1),c(2,2),sep="")
[1] "12" "12"
paste(c(1,1),c(2,2),sep=",")
[1] "1,2" "1,2"
> paste(c(1,1),c(2,2),sep=",",collapse = ":")
[1] "1,2:1,2"
#注意
当连接的变量的只包含1个常量时,,collapse 是不起作用的
示例:
> paste("1st", "2nd", "3rd", collapse = ", ")
[1] "1st 2nd 3rd"
c()函数表示创建向量
注意: 字符串要加双引号(行名和列名也是字符串,但是可以不用加),其他单元格(姑且这么叫了)里出现的字符串要加。
TidyData
这是一种组织表格数据的方式,提供了一种能够跨包使用的“统一”的数据格式
1.Reshape Data
> a<-data.frame(country = c("A","B","C"),"1999" = paste(c(0.7,37,212),"K",sep = ''),"2000" = paste(c(2,80,213),"K",sep = ''))
> a
country X1999 X2000
1 A 0.7K 2K
2 B 37K 80K
3 C 212K 213K
> gather(a,X1999,X2000,key = "year",value = "cases")
#gather(表名,合并列1,合并列2,合并后的key列名,value列名)
country year cases
1 A X1999 0.7K
2 B X1999 37K
3 C X1999 212K
4 A X2000 2K
5 B X2000 80K
6 C X2000 213K
5 B X2000 80 K
6 C X2000 213 K
gather(a,"year","cases",X1999,X2000) #另一种写法
2.Handle Missing Values