如果一个值则 return R 中新列中的另一个值

If a value then return another value in a new column in R

我有一个包含多列的数据集。其中一列称为 "group",其值类似于:1124,1251,2615,3541。我想插入一个新列,查看 "group" 和 return 中一行中的值,这是一个类别名称。所以,1124 会 return "Test" 而 1251 会 return "Coffee."

像这样?

df$Category <- NA
df$Category[df$Group==1124] <- "Test"
df$Category[df$Group==1251] <- "Coffee"

您还可以结合使用 mutate 和 ifelse:

df %>% dplyr::mutate(Category = ifelse(Group == 1124, "Test", "NA"))%>%#这将创建一个名为 Category 的新列,其中包含一个条目测试 Group 是否等于 1124。如果不满足此条件,则 Category 列中的相应行将为 NA dplyr::mutate(Category = ifelse(Group == 1251, "Coffee", Category))#如果 Group 等于 1251,这将用 Coffee 条目填充类别列。如果不满足此条件,则适当的类别列中的行将保持当前状态

如果您希望“类别”列中的条目为空白而不是 NA,请将“NA”一词替换为“”。