r语言 not enough x observations_R语言ETL系列:过滤(filter)

6e7712985ce1d975465bbc3e9813d689.png

作者:黄天元,复旦大学博士在读,目前研究涉及文本挖掘、社交网络分析和机器学习等。希望与大家分享学习经验,推广并加深R语言在业界的应用。

邮箱:huang.tian-yuan@qq.com

前言

本章节介绍如何根据条件对表格进行过滤,主要使用filter函数进行实现。
首先加载需要的包和数据,我们会用到R语言自带的mtcars数据集。首先我们把行的名称转化为一列数据,名为rownams。然后,把数据库转化为tibble格式,存在mtcars1变量中。

1library(tidyverse) 2 3mtcars %>% 4  rownames_to_column() %>% 5  as_tibble() -> mtcars1 6 7mtcars1 8## # A tibble: 32 x 12 9##    rowname   mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear10##    <chr>   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>11##  1 Mazda ~  21       6  160    110  3.9   2.62  16.5     0     1     412##  2 Mazda ~  21       6  160    110  3.9   2.88  17.0     0     1     413##  3 Datsun~  22.8     4  108     93  3.85  2.32  18.6     1     1     414##  4 Hornet~  21.4     6  258    110  3.08  3.22  19.4     1     0     315##  5 Hornet~  18.7     8  360    175  3.15  3.44  17.0     0     0     316##  6 Valiant  18.1     6  225    105  2.76  3.46  20.2     1     0     317##  7 Duster~  14.3     8  360    245  3.21  3.57  15.8     0     0     318##  8 Merc 2~  24.4     4  147.    62  3.69  3.19  20       1     0     419##  9 Merc 2~  22.8     4  141.    95  3.92  3.15  22.9     1     0     420## 10 Merc 2~  19.2     6  168.   123  3.92  3.44  18.3     1     0     421## # ... with 22 more rows, and 1 more variable: carb <dbl>

条件过滤:filter

实际工作中,经常会需要用到把一定条件的记录调出来的情况。比如,如果我是超市的数据分析师,我需要查看单次消费超过500元的购物清单,就需要用到条件过滤。在我们的例子中,比如我们需要提取cyl为4的记录(cyl代表汽车气缸的数量),就可以这么操作:

1mtcars1 %>% 2  filter(cyl == 4) 3## # A tibble: 11 x 12 4##    rowname   mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear 5##                 6##  1 Datsun~  22.8     4 108      93  3.85  2.32  18.6     1     1     4 7##  2 Merc 2~  24.4     4 147.     62  3.69  3.19  20       1     0     4 8##  3 Merc 2~  22.8     4 141.     95  3.92  3.15  22.9     1     0     4 9##  4 Fiat 1~  32.4     4  78.7    66  4.08  2.2   19.5     1     1     410##  5 Honda ~  30.4     4  75.7    52  4.93  1.62  18.5     1     1     411##  6 Toyota~  33.9     4  71.1    65  4.22  1.84  19.9     1     1     412##  7 Toyota~  21.5     4 120.     97  3.7   2.46  20.0     1     0     313##  8 Fiat X~  27.3     4  79      66  4.08  1.94  18.9     1     1     414##  9 Porsch~  26       4 120.     91  4.43  2.14  16.7     0     1     515## 10 Lotus ~  30.4     4  95.1   113  3.77  1.51  16.9     1     1     516## 11 Volvo ~  21.4     4 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值