如何使用dplyr根据向量中字符串的存在情况进行变异和赋值
我有以下数据框:如何使用dplyr根据向量中字符串的存在情况进行变异和赋值,r,dplyr,R,Dplyr,我有以下数据框: 库(tidyverse) dat% 行名称到列(变量='car\u name')%>% as.tible()%>% 水头(n=5)%>% 选择(车辆名称,mpg) dat #>#A tible:32 x 2 #>汽车名称 #> #>1马自达RX4 21 #>2马自达RX4 Wag 21 #>3 Datsun 710 22.8 #>4大黄蜂4路21.4 #>5大黄蜂运动约18.7 由(v0.2.0)于2019年2月20日创建 给定一个向量: g
库(tidyverse)
dat%
行名称到列(变量='car\u name')%>%
as.tible()%>%
水头(n=5)%>%
选择(车辆名称,mpg)
dat
#>#A tible:32 x 2
#>汽车名称
#>
#>1马自达RX4 21
#>2马自达RX4 Wag 21
#>3 Datsun 710 22.8
#>4大黄蜂4路21.4
#>5大黄蜂运动约18.7
由(v0.2.0)于2019年2月20日创建
给定一个向量:
good_cars <- c("Mazda RX4", "Mazda RX4 Wag", "Datsun 710")
我想得到的结果是:
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
car\u name mpg条件
1马自达RX4 21良好
2马自达RX4 Wag 21良好
3 Datsun 710 22.8良好
4大黄蜂4路21.4坏
5大黄蜂运动约18.7坏
库(tidyverse)
dat%
行名称到列(变量='car\u name')%>%
as.tible()%>%
水头(n=5)%>%
选择(车辆名称,mpg)
dat%>%变异(条件=if\u else(车名%(在%好车中),“好车”,“坏车”))
#一个tibble:5x3
车辆名称mpg条件
1马自达RX4 21良好
2马自达RX4 Wag 21良好
3 Datsun 710 22.8良好
4大黄蜂4路21.4坏
5大黄蜂运动约18.7坏
case\u when(car\u name%在%good\u cars~“good”,TRUE~“BAD”)
。如果只有一个条件,则可以使用If\u else
。
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
library(tidyverse)
dat <- mtcars %>%
rownames_to_column(var = 'car_name') %>%
as.tibble() %>%
head(n=5) %>%
select(car_name, mpg)
dat%>%mutate(condition=if_else(car_name%in%good_cars,"GOOD","BAD"))
# A tibble: 5 x 3
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