Оператор канала работает не так, как рекламируется в следующей операции, описанной ниже:

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

Я не мог автоматизировать с помощью кода в R, но загрузка указанного ниже документа Excel с 740 строками и 32 столбцами, затем сохранение как «rus18.csv» в вашем рабочем каталоге и затем сохранение его как «rus18.csv» в вашем рабочем каталоге позволит этот код работать

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

Прочитать файл как тиббл:

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"))

Но их объединение дает «Ошибка в filter_impl (.data, точки): объект 'LOCNAME' не найден»

rus17 %>% select(starts_with("HOURLY"))  %>% filter(LOCNAME == "RUS")
0
ChuckBV 10 Мар 2018 в 22:27

1 ответ

Лучший ответ

У вас больше нет столбца LOCNAME, когда вы соединяете два таким образом. Вызов select сохранил только столбцы с именами, начинающимися с "HOURLY", поэтому, конечно, больше нет столбца для проверки значения "RUS".

Попробуйте так:

rus17 %>% filter(LOCNAME == "RUS") %>% select(starts_with("HOURLY"))  
2
Calum You 10 Мар 2018 в 22:35