首页 > 解决方案 > 如何创建具有两个新类别的新列?

问题描述

我正在尝试根据我形成的 Tibble 中的 HatchMass 创建一个名为 AgeClass 的新列,其中包含两个新类别(“青少年”和“成人”)。“成人”类别几乎是该列中的任何 NA 值。我尝试了以下代码:

    PBTdata %>% PBTdata
mutate(AgeClass = ifelse(HatchMass != is.na(HatchMass), "Juvenile", "Adult"))

我不断得到一个具有 AgeClass 列的输出,但它只输出“少年”类别并将“成人”保留为 NA。如何更改 NA 值以便将它们归类为“成人”?

标签: rif-statementdplyr

解决方案


我们可以直接使用is.nain ifelse。尝试

library(dplyr)
PBTdata %>%  mutate(AgeClass = ifelse(is.na(HatchMass), "Adult", "Juvenile"))

或者在没有的基础 R 中ifelse

PBTdata$AgeClass <- c("Juvenile", "Adult")[is.na(PBTdata$HatchMass) + 1]

推荐阅读