tidyverse包对tibble数据框的基本操作


前言

tibble数据框的简单介绍

tibble数据框是tidyverse等一系列包里面新兴的数据格式,tibble数据框对比普通的R语言数据框有着更加语法更加美观,操作更见简便等优点,可以实现对数据的选择,分组,数据拉长,数据拉宽等操作,下面介绍一下dplyr等一系列包里面对tibble包的一些操作函数。


提示:本片文章绝大多数内容来自R4SD这本书籍,网站如下:https://r4ds.hadley.nz/

一、tibble数据集

首先直接在脚本框输入tibble类型的数据集时,不会像普通数据集一样显示该数据集的全部数据,而是从上到下显示数据框的观测和变量的数量,然后输出前十个观察和输出框能够容纳下的变量的数量。(以tidyverse的flights数据集为例)在每个观察下面还会显示该变量下值的类型,在最下面还会输出未显示的观察数量和变量数量。
tibble数据框输出截图

二、tibble 的一些操作函数

1.glimpse()函数

glimpse函数能够返回tibble数据框的全部变量名,也就列名,对flight数据集使用glimpse函数结果如下。
在这里插入图片描述

2.filter函数

该函数主要是对函数的列进行操作,从而筛选出合适的符合条件的观测。
代码如下(示例):

df_1 <- flights
df_1|> 
  filter(month == 1,day ==1)
df_1 |>
  filter(year == 2013)
df_1 |>
  filter(month %in% c(1,2))
### 表达式month %in% c(1,2)等价于month == 1|month == 2.
### 函数filter可以筛选数据框内符合条件的行

我们首先将flights数据集赋值给df_1,然后使用|>运算将df_1赋值给filter(|>运算可以理解为<-的反向操作,将左边的变量作为参数输入到右边。)最后filter函数里面给出筛选条件当满足条件的观察将会被输出。


3. arrange函数

arrange函数主要是依照列对数据框进行排序也可以通过对对应的列增加desc方法来对列进行倒叙排序,在该函数里面含有多个列名是将会从左到右实现分级排序。
代码如下:

df_1 |> 
  arrange(year, month, day, dep_time)
### 当函数中存在一组列名的时候将对每个列名进行分级排列。

df_1|>
  arrange(desc(dep_time))
### 函数方法desc()将对括号里面的对应列进行倒叙排序

4. distinct函数

对数据框进行固定变量搜索唯一值。
代码如下:

flights |> 
  distinct()
flights |> 
  distinct(origin, dest)
### 函数将筛选唯一含有唯一值的origin和dest并且只输出origin和dest
### 使用参数.keep_all = TRUE在筛选出唯一的列值的时候同时保留其他的列.
df_1 |> 
  distinct(origin,dest,.keep_all = T)

5. select函数

select函数对指定列的名的进行筛选。也可以使用-加上列名进行筛除,代码如下:

df |>
	select(year,mon,day)
# 进行筛选
df |>
	select(-year)
# 进行筛除

6.pivot_longer函数

该函数的主要作用是将数据拉长示例如下:

df <- tribble(
  ~id,  ~bp1, ~bp2,
   "A",  100,  120,
   "B",  140,  115,
   "C",  120,  125
)#构建一个数据框
df |> 
  pivot_longer(
    cols = bp1:bp2,                    #选择列变量
    names_to = "measurement",#创建新的变量
    values_to = "value"              # 新的变量
  )
  #> # A tibble: 6 × 3
#>   id    measurement value
#>   <chr> <chr>       <dbl>
#> 1 A     bp1           100
#> 2 A     bp2           120
#> 3 B     bp1           140
#> 4 B     bp2           115
#> 5 C     bp1           120
#> 6 C     bp2           125

函数可以将变量名作为分类变量放入表格里面并且原来变量的值转移到新的变量里面。也就是将数据向下拉长,增加观测。


6.pivot_wider函数

该函数和pivot_longer函数是相反的操作,可以将数据的分类变量作为变量名将数据拉宽。

df |> 
  pivot_longer(
    cols = bp1:bp2,
    names_to = "measurement",
    values_to = "value"
  )|>
  pivot_wider(
    names_from = "measurement", #列变量名来自
    values_from = "value"  #值的来源
  )
  # A tibble: 3 × 3
#  id      bp1   bp2
#  <chr> <dbl> <dbl>
#1 A       100   120
#2 B       140   115
#3 C       120   125
  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值