使用管道 (%>%) 运算符链接 dplyr 操作时出错

Error when chaining dplyr operations with pipe (%>%) operatror

管道运算符似乎没有像下面概述的以下操作中宣传的那样工作:

library("dplyr")
library("tibble")

我无法通过 R 中的代码实现自动化,但下载下面指示的 740 行、32 列 excel 文档,然后在您的工作目录中另存为 "rus18.csv",然后将其另存为 "rus18.csv" 在您的工作目录中将允许此代码工作

path = "https://www.opm.gov/policy-data-oversight/pay-leave/salaries-wages/2018/2018-general-schedule-pay-rates.xls"

以 tibble 格式读取文件:

rus18 <- as_tibble(read.csv("rus18.csv"))

验证 dplyr 操作是否单独工作。下面两行做同样的事情:

filter(rus18, LOCNAME == "RUS") 
rus18 %>% filter(LOCNAME == "RUS") 

这两个也一样:

select(rus18, starts_with("HOURLY")) 
rus18 %>% select(starts_with("HOURLY"))

但将它们放在一起得到 "Error in filter_impl(.data, dots) : object 'LOCNAME' not found"

rus17 %>% select(starts_with("HOURLY"))  %>% filter(LOCNAME == "RUS")

当您像这样将两者链接在一起时,您将不再拥有 LOCNAME 列。 select 调用仅保留了名称以 "HOURLY" 开头的列,因此当然没有更多的列来检查值 "RUS".

试试这个方法:

rus17 %>% filter(LOCNAME == "RUS") %>% select(starts_with("HOURLY"))