R 使用ifelse和mutate按以前的列名对新列进行分类

R 使用ifelse和mutate按以前的列名对新列进行分类,r,if-statement,mutate,R,If Statement,Mutate,我遇到的问题是,我需要对美国各州进行分类,将两组五个州划分为富国或穷国,将其他各州划分为中等。我可以简单地归类为富代码或不使用此代码: twoe.data.frame您可以使用case_根据州名称分配财富 library(dplyr) us_contagious_diseases %>% mutate(wealth = case_when(state %in% c('Maryland', 'New Jersey', 'hawaii', 'Massachusetts', 'Conn

我遇到的问题是,我需要对美国各州进行分类,将两组五个州划分为富国或穷国,将其他各州划分为中等。我可以简单地归类为富代码或不使用此代码:

twoe.data.frame您可以使用case_根据州名称分配财富

library(dplyr)

us_contagious_diseases %>%
    mutate(wealth = case_when(state %in% c('Maryland', 'New Jersey', 'hawaii', 'Massachusetts', 'Connecticut') ~ 'rich', 
                              state %in% c('Louisiana', 'New Mexico', 'Arkansas', 'Mississippi', 'West Virginia') ~ 'poor',
                              TRUE ~ 'middle'))
通过data.table,我们可以使用fcase


非常感谢,这已经奏效了!我想我知道我错在哪里了沿着不同的路线跑谢谢。
library(data.table)
setDT(us_contagious_diseases)[, wealth := fcase(state %chin% 
   c('Maryland', 'New Jersey', 'hawaii', 'Massachusetts', 'Connecticut'), 'rich',
  state %in% c('Louisiana', 'New Mexico', 'Arkansas', 'Mississippi', 'West Virginia'),  'poor' , 
       default = 'middle')][]