我要使用“过滤器”功能根据任一条件从数据中选择行:
Subset_data <- filter(Data, company_type == 3 & annualturnover %in% c(1,2,3) | company_type == 2 & annualturnover %in% c(1,2))
现在,我想添加一列,当该行满足第一个条件(company_type == 3&Annualturnover%in%c(1,2,3))时,其值为“ 0”,如果第二个条件满足,则值为“ 1”满足条件(company_type == 2和年营业额百分比in%c(1,2))。
我如何有效地做到这一点(如果可能,不要循环播放)?
library(dplyr)
Subset_data <- Data %>%
filter(company_type == 3 & annualturnover %in% c(1,2,3) |
company_type == 2 & annualturnover %in% c(1,2)) %>%
mutate(category = case_when(
company_type == 3 & annualturnover %in% c(1,2,3) ~ 0L,
company_type == 2 & annualturnover %in% c(1,2) ~ 1L,
TRUE ~ NA_integer_))
Subset_data
## A tibble: 2 x 3
# company_type annualturnover category
# <int> <int> <int>
#1 3 3 0
#2 2 2 1
使用此伪造数据
Data <- tribble(
~company_type, ~annualturnover,
1L, 2L,
3L, 3L,
2L, 2L,
2L, 3L)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句