R 使用ifelse和mutate按以前的列名对新列进行分类
我遇到的问题是,我需要对美国各州进行分类,将两组五个州划分为富国或穷国,将其他各州划分为中等。我可以简单地归类为富代码或不使用此代码: twoe.data.frame您可以使用case_根据州名称分配财富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
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')][]