学习小组Day6笔记--R包入门(李夕)

R包说明书(cheatsheet),俗称小抄,除了今天跟着生信星球了解R包,还可以通过小抄了解。

R包入门之tidyr

数据处理从此开始:tidyr在R包中较简单,从tidyr开始能更好地进行数据处理

  1. tidyr包主要功能:将数据处理成标准而统一的数据框
    (1). 数据框的变形
    (2). 处理数据框中的空值
    (3). 根据一个表格衍生出其他表格
    (4). 实现行或列的分割和合并
    *TidyData:即标准而统一的数据框,个人认为应该是将数据框中的数据的行列更具体

当我们用R处理数据时,应该遵循Tidy data的原则:
每一列:代表一个变量(vairable)
每一行:代表一次观测(observation)

  1. 下载与安装R包
  • R包说明书下载:谷歌/百度
    Rstudio的cheatsheet网站:https://www.rstudio.com/resources/cheatsheets

  • R包极简安装:
    (1). 设置好工作目录(包会默认安装在工作目录里)
    (2). 查询是否存在需要的包:library(tidyr)
    (3). ()下载和安装tidyr:install.packages("tidyr"),直到控制台出现>
    (4). 安装成功后加载:library(tidyr)

  1. 新建数据框
    新建数据框,并将数据框赋值给a
a=data.frame(GeneId=rep("tp53",times=3),Samplename=paste("sample",1:3,sep=""),Expression=c(14,19,18))
GeneId,Samplename,Expression分别代表不同列
rep("名称",times=?):重复函数,括号内为重复字符与次数
paste( ):拼接字符串函数:
    - 一堆单独的字符串拼接到一起
    - 两个或更多字符串对象根据元素对应关系拼接到一起
    - 一个字符串连接在一起
    sep:分隔符,字符串之间连接方式,sep=""代表没有分隔符
    括号内字符串要加双引号,除了等号左边行列名
    数字作为行列名要加引号

数据框简单操作之tidyr

  1. 转换数据形式
  • gather:将数据处理成TidyData
  • spread:还原TidyData


    学习小组Day6笔记--R包入门(李夕)_第1张图片
    引自生信星球.png

关于gather

新建原始数据框:
a=data.frame(Country = c("A","B","C"),"1999" = c("0.7K","37K","212K"),"2000" = c("2K","80K","213K")) 注意数字作为行列时需加引号

转换成TidyData:
gather(a,X1999,X2000,key="year",value="cases")
括号内为数据框名,需合并的列名,合并后的key列名,value列名

若需合并的列名较多,可用排除法进行合并:
gather(a,"year","cases",-country)
括号内的key列名,value列名可直接写出,-Country表示合并除去Country的列

  1. 处理丢失的数据(如单元格有空值)

三种处理方式:
(1):删除整行
(2):根据环境蒙
(3):同一列空值填上同一个数

原始数据:


学习小组Day6笔记--R包入门(李夕)_第2张图片
原始数据框.png
  • 删除(数据缺失)整行drop_na(数据框名,缺失列名)

    删除整行.png

  • 根据上一行数据填充fill(数据框名,缺失列名)

    学习小组Day6笔记--R包入门(李夕)_第3张图片
    根据上一行数据填充

  • 填入特定数值replace(数据框名,list(缺失列名=填入值))

    学习小组Day6笔记--R包入门(李夕)_第4张图片
    特定值替换

  1. expand tables
  • complete 把空值的位置补全
    学习小组Day6笔记--R包入门(李夕)_第5张图片
    complete

    nesting的括号内填不变的列名,fill里填需补全空值的列名
  1. splic cells
    拆分
  • separate分割成两列
  • separate_rows:分割成两行
  • unite分割完了再合并
    学习小组Day6笔记--R包入门(李夕)_第6张图片
    Day6--R包入门.png

你可能感兴趣的:(学习小组Day6笔记--R包入门(李夕))