У меня есть следующий фрейм данных:
library(tidyverse)
dat <- mtcars %>%
rownames_to_column(var = 'car_name') %>%
as.tibble() %>%
head(n=5) %>%
select(car_name, mpg)
dat
#> # A tibble: 32 x 2
#> car_name mpg
#> <chr> <dbl>
#> 1 Mazda RX4 21
#> 2 Mazda RX4 Wag 21
#> 3 Datsun 710 22.8
#> 4 Hornet 4 Drive 21.4
#> 5 Hornet Sportabout 18.7
Создано в 2019-02-20 с помощью пакета Представить (v0.2.0).
Учитываяvector:
good_cars <- c("Mazda RX4", "Mazda RX4 Wag", "Datsun 710")
Я хочу назначить добавить еще один столбец в dat, чтобы всякий раз, когда car_name
сохранялся в good_cars
, я назначал бы хорошее состояние:
Я пробовал этоно не удалось:
dat %>%
mutate(condition = case_when( car_name %in% good_cars == "GOOD" ~ "BAD"))
Результат, который я хотел бы получить:
car_name mpg condition
<chr> <dbl> <chr>
1 Mazda RX4 21 GOOD
2 Mazda RX4 Wag 21 GOOD
3 Datsun 710 22.8 GOOD
4 Hornet 4 Drive 21.4 BAD
5 Hornet Sportabout 18.7 BAD