美文网首页生信星球培训第十三期
学习小组Day6笔记--紧到长不帅

学习小组Day6笔记--紧到长不帅

作者: 麻布二哥要拿手术刀 | 来源:发表于2019-03-10 20:46 被阅读13次

今天学习第六天,今天的内容是R语言中的tidyr包


  • 首先是安装tidyr包:install.packages("tidyr"),加载tidyr包。:library(tidyr)
  • 新建一个试验数据框:a<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18)) image.png

其中涉及到1、rep的使用,重复,括号中填要重复的字符和重复次数。2、paste的使用,连接两个字符串,括号要填两个代连接字符并指定分隔符(sep),没有分隔符就填sep=“”。

  • 认识Tidy Data

这是一种组织表格数据的方式,提供了一种能够跨包使用的“统一”的数据格式。
什么叫“统一”?:“统一”的概念:每个变量(variable)占一列,每个情况(case,姑且这么翻译)和观测值(observation)占一行。


image.png
  • 使用tidyr包中的函数实现上述数据框的变形,新建试验数据:a <- data.frame(country=c("A","B","C"),"1999"=paste(c(0.7,37,212),"K"),"2000"=paste(c(2,80,213),"K"))
  1. Reshape Data

    • gather、spread函数:


      image.png
      • 上述操作代码:gather(a,X1999,X2000,key = "year",value = "cases")#gather括号里的分别是:数据框名,需合并的列名(两个),合并后的key列名,value列名。其中,需合并的列名也可以列在最后(其实个顺序才是默认的),key=和value=也可以省略(我爱偷懒),如果按照上面小抄的命令括号里那个顺序,省略了就会报错。gather(a,"year","cases",X1999,X2000) #推荐的偷懒做法
  2. Handle Missing Values处理缺失值

    • 删除缺失值整行:


      image.png
    • 同一列的空值填上同一个数(自定义填充)


      image.png
  3. Expand Tables

    • complete函数(把空值的位置补全),代码:complete(d, nesting(x1), fill = list(x2=5))#nesting指数据完整的列(可以包括很多列)
      -expand函数,代码:expand(pin2,GeneId,SampleName,Expression)#pin2指数据集,后面三个指列名
      最后上幕布
      image.png

相关文章

网友评论

    本文标题:学习小组Day6笔记--紧到长不帅

    本文链接:https://www.haomeiwen.com/subject/ccvppqtx.html