r语言 - 在"if"子句中使用复合语句



我发现一个涉及模板的类似问题超出了我的问题范围。我希望能够说出这样的话:如果(a和b(那么(做某事(。这里有一个例子:

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"

使用&amp&,年,或%,将纽约市置于弗吉尼亚州。我为打电话给各县行政区向纽约人道歉。

我们可以使用case_when

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

最新更新