R语言--高效操作数据框(dplyr包)(1)

数据框是R语言中的一个重要数据结构,在数据分析过程中,主要的数据对象就是数据框。R语言内置了data.frame类,dplyr包则加强了数据框的各种操作,语法与SQL类似,使数据框的处理变得灵活多变,处理速度得到很大提升。

本文针对在数据分析中数据框使用的各种常用场景,总结了dplyr包的使用方法。本文为该系列的第一篇。

环境&软件

  • win10 64bit
  • R 3.6.1

安装包

install.packages("dplyr")

管道操作符 %>%

管道操作符%>%,在dplyr中被大量使用,用来简化代码结构,减少中间变量,使代码更符合思维习惯。RStudio快捷键:Ctrl+Shift+m

library(dplyr)
# 查看数据前3行
head(iris,3) # 常规方式
##   Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1          5.1         3.5          1.4         0.2
## 2          4.9         3.0          1.4         0.2
## 3          4.7         3.2          1.3         0.2
##   Species
## 1  setosa
## 2  setosa
## 3  setosa
iris %>% head(3) # 管道符方式
##   Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1          5.1         3.5          1.4         0.2
## 2          4.9         3.0          1.4         0.2
## 3          4.7         3.2          1.3         0.2
##   Species
## 1  setosa
## 2  setosa
## 3  setosa

数据框 tibble

tibble是data.frame的简化版本,适用data.frame的所有语法,同时有更简单的数据框创建方式。

# 1.data.frame转为tibble
as_tibble(mtcars)
## # A tibble: 32 x 11
##      mpg   cyl  disp    hp  drat    wt  qsec    vs    am
##    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1  21       6  160    110  3.9   2.62  16.5     0     1
##  2  21       6  160    110  3.9   2.88  17.0     0     1
##  3  22.8     4  108     93  3.85  2.32  18.6     1     1
##  4  21.4     6  258    110  3.08  3.22  19.4     1     0
##  5  18.7     8  360    175  3.15  3.44  17.0     0     0
##  6  18.1     6  225    105  2.76  3.46  20.2     1     0
##  7  14.3     8  360    245  3.21  3.57  15.8     0     0
##  8  24.4     4  147.    62  3.69  3.19  20       1     0
##  9  22.8     4  141.    95  3.92  3.15  22.9     1     0
## 10  19.2     6  168.   123  3.92  3.44  18.3     1     0
## # … with 22 more rows, and 2 more variables:
## #   gear <dbl>, carb <dbl>
# 2.构造tibble,引用列变量
tibble(x=1:4,y=x+1)
## # A tibble: 4 x 2
##       x     y
##   <int> <dbl>
## 1     1     2
## 2     2     3
## 3     3     4
## 4     4     5
# 3.构造tibble,不引用列变量(!!)
x <- 11:14 
tibble(x=1:4,y=!!x+1)
## # A tibble: 4 x 2
##       x     y
##   <int> <dbl>
## 1     1    12
## 2     2    13
## 3     3    14
## 4     4    15

列筛选 select

select函数用来对数据框的列进行选择筛选。

# 数据
tbl_df <- tibble(var1=1:4,var2=2:5,label=c("a","b","a","c"))

基本方法

选择列的基本方法。

# 引用选择列
tbl_df %>% select(var1,var2) 
## # A tibble: 4 x 2
##    var1  var2
##   <int> <int>
## 1     1     2
## 2     2     3
## 3     3     4
## 4     4     5
# 范围引用选择列
tbl_df %>% select(var1:var2)
## # A tibble: 4 x 2
##    var1  var2
##   <int> <int>
## 1     1     2
## 2     2     3
## 3     3     4
## 4     4     5
# 列位置选择列
tbl_df %>% select(1,2)
## # A tibble: 4 x 2
##    var1  var2
##   <int> <int>
## 1     1     2
## 2     2     3
## 3     3     4
## 4     4     5
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值