根据R中的逻辑条件插入列

问题描述 投票:1回答:1

我正在使用“过滤器”功能根据任一条件从数据中选择行:

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))。

我如何有效地做到这一点(如果可能,不要循环播放?)>

我正在使用“过滤器”功能基于以下任一条件从我的数据中选择行:Subset_data

r logical-operators
1个回答
0
投票
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) ~ 0,
             company_type == 2 & annualturnover %in% c(1,2)   ~ 1,
             TRUE ~ NA_integer))
© www.soinside.com 2019 - 2024. All rights reserved.