tidyr

作者: Thinkando | 来源:发表于2019-07-30 21:17 被阅读22次

整齐的数据特性:

  1. 每一列都是一个变量
  2. 每一行都是一个观测值

tidyr 四大常用函数

  1. gather() 使“宽”数据变成长数据
  2. spread() 使“长”数据变成宽数据
  3. separate() 将单个列拆分为多个列
  4. unite() 将多个列组合成一个列

导入数据

library("lubridate")

ec2 <- ggplot2::economics %>% tbl_df() %>% 
  transmute(year = year(date), 
  month = month(date), rate = uempmed) %>%
  filter(year > 2005) %>% spread(year, rate)
image.png

1. gather()

gather 函数主要四个参数

  1. data :数据集
  2. key :列明
  3. value :原来值的新的列名
  4. ...: 需要聚集的变量,删除前面加-
gather(ec2, key=year, value=unemp, `2006`:`2015`)
image.png
# convert=TRUE, 把year 变量的字符串转成数值型,
# na.rm 删除缺失值
economics_2 <- gather(ec2, year,rate,`2006`:`2015`, convert = TRUE, na.rm = TRUE)

2. spread

  • 是gather 函数的逆运算
weather <- dplyr::tibble(
  day = rep(1:3,2),
  obs = rep(c("temp","rain"),each = 3),
  val = c(c(23,22,20),c(0,0,5))
  )
image.png
spread(weather, key = obs, value = val)
image.png

3. separate

trt <- dplyr::tibble( var = paste0(rep(c("beg", "end"),
       each=3),"_",rep(c("a","b","c"))),
       val = c(1,4,2,10,5,11)
)

separate(trt,var,c("time","treatment"),"_")
image.png

4. unite

a <- separate(trt,var,c("time","treatment"),"_")
a %>% unite(var,time,treatment,sep="_")
image.png

相关文章

  • 学习小组Day6笔记--何小娜

    install.packages("tidyr") 安装 tidyr 包library(tidyr) 加载 tid...

  • 生信星球16期-Day6-兔子

    安装tidyr install.packages("tidyr")library(tidyr) 重建数据框 读取数...

  • 学习小组Day 6笔记-K-molar

    一、初步认识tidyr包 1.首先安装tidyr包 2.初步了解tidyr包的知识 必应搜索tidyr,找到相关介...

  • R 语言-tidyr 和 dplyr

    1、tidyr (单表格操作) tidyr: Easily Tidy Data with 'spread()' a...

  • tidyr

    整齐的数据特性:每一列都是一个变量每一行都是一个观测值 tidyr 四大常用函数 gather() 使“宽”数据...

  • 12-1 tidyr dplyr stringr

    tidyr dplyr stringr “R数据科学” R1:tidyr 核心函数 处理NA: R2:dply...

  • 学习小组Day6笔记——TheCatcher

    安装和加载tidyr包 因为之前安装过tidyverse包,已经将tidyr包含在内,所以就直接library啦,...

  • R语言tidyr包的使用

    reshape2包的进化版—tidyr包 tidyr包的作者是Hadley Wickham。这个包常跟dplyr结...

  • tidyr包的函数及用法

    tidyr包的应用tidyr主要提供了一个类似Excel中数据透视表(pivot table)的功能。gather...

  • Tidyverse ------Tidyr

    趁着今天有时间,想着是不是该记录点东西了,没错是该记录一下了。今天的重头戏是tidyr package。Tidy ...

网友评论

    本文标题:tidyr

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