美文网首页生信星球培训第七期
学习小组Day6笔记-Resolution

学习小组Day6笔记-Resolution

作者: ResolutionCC | 来源:发表于2018-10-13 20:05 被阅读17次
Day6 R数据整理.png

以下笔记整理自生信星球公众号教程,感谢豆豆花花的辛苦付出!

准备工作

  • part1:学会获取一个R包的小抄
  1. 问度娘
  2. Rstudio cheatsheet网站下载
  3. 简单粗暴:生信星球公众号后台回复(不是评论!)相应的包名获取
  • part2:初步了解tidyr
    tidyr包主要功能
  1. 数据框的变形
  2. 处理数据框中的空值
  3. 根据一个表格衍生出其他表格
  4. 实现行或列的分割和合并
  • part3:学习极简安装R包
    果子学生信--新手第1课,无敌无脑的R语言环境配置教程(傻瓜得不能再傻瓜的教程,除了视频教学,还有提供很多包安装代码,业界良心!)
  • part4:数据框的小常识
#新建数据框,并把新建的数据框赋值给变量a
a<-data.frame(GeneId = rep("gene5",times=3),#rep,重复,括号中填要重复的字符和重复次数
SampleName=paste("Sample",1:3,sep=""),#paste,连接两个字符串,括号要填两个代连接字符并指定分隔符(sep),没有分隔符就填sep=“”。
Expression=c(14,19,18))
#1:3表示从1到三。如需一列中需要填入三个无规律的数字,可以用向量c(1,3,4),同样如果填的是字符串也需要加双引号,例如c("doudou","huahua","xiaoyu")。
#了解概念:key-value--“键值对” ,表示一种对应关系。“键”和“值”都是列名,如SampleName和Expression的对应。
#函数后面一般都要加括号,括号里第一个参数是都数据框名
#字符串要加双引号(行名和列名也是字符串,但是可以不用加),其他单元格(姑且这么叫了)里出现的字符串要加。
#行:raw,列:column,简化写法为col
a
  • part5:认识Tidy Data
  1. 这是一种组织表格数据的方式,提供了一种能够跨包使用的“统一”的数据格式。
  2. 每个变量(variable)占一列,每个情况(case,姑且这么翻译)和观测值(observation)占一行。

tidyr

  • tidyr包整理数据常用函数:gather()函数、spread()函数…


    gather函数实例.png
  1. gather()函数整理后,实例图中sample1,2,3不在当列名,而是让他们多重复几遍,合并到一列叫SampleName的列中,原先的列名Sample1、Sample2、Sample3作为该SampleName列里面的一个值重新存储。
  2. gather括号里的参数分别是:数据框名,需合并的列名(两个),合并后的key列名,value列名。
  • 处理丢失值,三种处理方式
  1. drop_na():有空值的,整行删除掉
  2. fill():根据上一行的数值填充上
  3. replace_na():空值填进去特定的一个数值
    实例:导入演示数据
##以下代码来自果子学生信--新手第1课,无敌无脑的R语言环境配置教程 
#检查工作目录
getwd()
#设置R包下载镜像
options(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
# 检查是否设定完毕
getOption("CRAN")
#安装CRAN上的包
install.packages("tidyverse")
library(tidyverse)
library(tidyr)
#生信星球练习数据、代码
X<-read.csv('doudou.csv')
drop_na(X,X2)
fill(X,X2)
replace_na(X,list(X2=2))
处理缺失值.png
处理缺失值2.png
  • Expand Tables
    列出每列值所有可能的组合
  • split cells(选修)
    把一列拆成两列。
  1. separate:按列分割
  2. separate_rows:按行分割
  3. unite:分割完了再合并回去

相关文章

网友评论

    本文标题:学习小组Day6笔记-Resolution

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