Использование составного оператора в предложении if - PullRequest
0 голосов
/ 18 апреля 2020

Я нашел похожий вопрос с шаблонами, который был за рамками моего вопроса. Я хочу иметь возможность сказать что-то вроде: если (а и б), то (сделать что-то). Вот пример:

t1 <- tribble(
    ~state,     ~county,
    "New York", "Bronx",
    "New York", "Richmond",
    "New York", "Albany",
    "Virginia", "Richmond"
    )

five_boroughs = c("Bronx", "Kings", "New York", "Queens", "Richmond")

if t1$state == "New York" && t1$county in five_boroughs
    t1$county = "New York City"

Использование символов &, &&, in или% in% переводит Нью-Йорк в Вирджинию. Я извиняюсь перед жителями Нью-Йорка за то, что назвал округа округами.

1 Ответ

0 голосов
/ 18 апреля 2020

Мы можем использовать case_when

library(dplyr)
library(stringr)
t1 %>% 
   mutate(county = case_when(state == 'New York' & 
          county %in% five_boroughs~ str_c(state, ' City')))
...