R根据另一列的因子级别创建新的值列

R根据另一列的因子级别创建新的值列,r,apply,R,Apply,我正在尝试基于另一列的值创建一个新的值列。如果列iucnStatus中的值为“LC”或“NT”,我希望新列(受威胁)中的值为“Not_受威胁”。如果iucnStatus中的值是“VU”、“EN”、“CR”、“EW”或“EX”,我希望新列(受威胁)中的值是“受威胁的”。我写了这么多代码来创建新列: df<-read.csv('master2.csv') df$threatened <-apply(df$iucnStatus, 1,function(x) df如果只有两种状态,则可以

我正在尝试基于另一列的值创建一个新的值列。如果列iucnStatus中的值为“LC”或“NT”,我希望新列(受威胁)中的值为“Not_受威胁”。如果iucnStatus中的值是“VU”、“EN”、“CR”、“EW”或“EX”,我希望新列(受威胁)中的值是“受威胁的”。我写了这么多代码来创建新列:

df<-read.csv('master2.csv')

df$threatened <-apply(df$iucnStatus, 1,function(x)

df如果只有两种状态,则可以使用
ifelse

df$Threatened <- ifelse(df$iucnStatus %in% c("LC","NT"),"Not_Threatened", "Threatened")
#Without `ifelse`
#df$Threatened <- c("Threatened", "Not_Threatened")[(df$iucnStatus %in% c("LC","NT")+ 1)]

请通过包含您的数据样本(使用
dput
命令)使您的问题重现这正是我想要做的,谢谢!
library(dplyr)

df %>%
  mutate(Threatened = case_when(
                        Status %in% c("LC","NT") ~ "Not_Threatened", 
                        Status %in% c("VU", "EN", "CR", "EW","EX") ~ "Threatened", 
                        #More conditions
         ))