使用管道 (%>%) 运算符链接 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"))
管道运算符似乎没有像下面概述的以下操作中宣传的那样工作:
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"))