【发布时间】:2020-04-22 12:14:44
【问题描述】:
我有一个数据集,其中显示了多个不同地方当局支付的税款。
我想创建一个虚拟列,以便如果我在 if 语句中声明特定的地方当局,如果它们匹配,则返回值 1,否则返回值 0。
我试过了:
mutate_if(tax_data, localauthority %in% c('Exeter', 'Glasgow', 'Oxford'), funs(dummy==1))
mutate_if(tax_data, localauthority != c('Exeter', 'Glasgow', 'Oxford'), funs(dummy==0))
任何人都可以就如何在创建虚拟列以满足此条件的同时使用 if 语句提供任何帮助吗?
【问题讨论】:
-
试试 case_when ,语法简单
-
mutate(tax_data, dummy = as.numeric(localauthority %in% c('Exeter', 'Glasgow', 'Oxford')) -
要更清楚地查看
ifelse()虚拟变量语句,请查看here -
mutate_用于选择要“变异”的列 -
试试
mutate(tax_data, dummy = ifelse(localauthority %in% c('Exeter', 'Glasgow', 'Oxford'), 1, 0)此外,如果您提供可重现的示例,将更容易回答您的问题。请参阅 [此处] (stackoverflow.com/questions/5963269/…),了解如何制作出色的 R 可重现示例
标签: r if-statement tidyverse dplyr