Фильтрация по дате с использованием условного в R - PullRequest
0 голосов
/ 01 апреля 2020

Попытка просто фильтровать по году или дате. См. Ниже, где data2 - тиббл, а Contract Date - поле даты типа.

 recent <- data2 %>%
    filter(data2,`Contract Date` >("01-01-2016"))

Ошибка в FUN (слева, справа): операции возможны только для чисел c, логических или сложных типов

Обновление:

См. Главу data2 ниже:

A tibble: 6 x 52
  CONTACTID Status `Contract Date` `Country of Ori~ `CES Submitted` `Embassy Date` `Hire Date` Agent `ATT Received` `CES Issued Dat~ `CES Ready Revi~ `CES RFR 8 week~ `I-140 Sent` `I-140 Recd.` `I-140 Result D~ `I-140 Status` `CES Status` `Choice of Agen~ Client `Contact Owner`
  <chr>     <chr>  <date>          <chr>            <chr>           <chr>          <chr>       <chr> <chr>          <chr>            <chr>            <lgl>            <chr>        <chr>         <chr>            <chr>          <chr>        <chr>            <chr>  <chr>          
1 zcrm_257~ Finis~ NA              Philippines      NA              NA             6/22/2015   NA    NA             NA               NA               FALSE            NA           NA            NA               NA             NA           NA               Oakbe~ Tyler Richards 
2 zcrm_257~ Finis~ 2015-12-15      England          NA              12/5/2016      2/20/2017   Adev~ NA             NA               NA               FALSE            4/14/2016    6/29/2011     4/25/2016        Approved       NA           5/25/2016        Oakbe~ Eddie Money    
3 zcrm_257~ Finis~ 2015-11-09      Philippines      NA              NA             11/17/2015  Ulti~ NA             NA               NA               FALSE            NA           NA            NA               NA             NA           NA               Oakbe~ Eddie Money    
4 zcrm_257~ Finis~ 2016-03-03      Philippines      NA              NA             3/21/2016   NA    NA             NA               NA               FALSE            NA           NA            NA               NA             NA           NA               Oakbe~ Eddie Money    
5 zcrm_257~ Finis~ 2006-08-15      Philippines      NA              3/21/2016      6/27/2016   IQ    NA             NA               NA               FALSE            3/1/2007     3/2/2007      3/8/2007         Approved       NA           7/10/2007        Oakbe~ alyssa Coleman 
6 zcrm_257~ Relea~ 2016-07-20      Philippines      NA              NA             9/12/2016   Ulti~ NA             NA               NA               FALSE            NA           NA            NA               NA             NA           NA               Oakbe~ Eddie Money    
# ... with 32 more variables: `DS260 Completed` <chr>, Elite <lgl>, `Embassy Status` <chr>, `Fee Bill Received` <chr>, `Fee Bill Returned` <chr>, `Hospital Country` <chr>, `Hospital Size` <dbl>, `IELTS Test Date` <chr>, `Initial Ready for Review` <chr>, `Instruction Pkt.

1 Ответ

1 голос
/ 01 апреля 2020

Ошибка возникает из-за того, что вы пытаетесь сравнить, если символ 1 больше, чем символ 2. Сначала необходимо принудительно Contract Date и текст отфильтровать до date.

Например:

recent <- data2 %>% 
  mutate(`Contract Date` = lubridate::ymd(`Contract Date`)) %>%
  filter(`Contract Date` > as.Date("2016-01-01"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...