我试图根据我形成的Tibble中的HatchMass创建一个名为AgeClass的新列,其中包含两个新类别(“青少年”和“成人”)。 “成人”类别几乎等于该列中的所有NA值。我尝试了以下代码:
PBTdata %>% PBTdata
mutate(AgeClass = ifelse(HatchMass != is.na(HatchMass), "Juvenile", "Adult"))
我一直得到一个包含AgeClass列的输出,但它仅输出“少年”类别,而将“成人”保留为NA。如何更改NA值,以便将其归类为“成人”?
答案 0 :(得分:0)
我们可以直接在is.na
中使用ifelse
。试试
library(dplyr)
PBTdata %>% mutate(AgeClass = ifelse(is.na(HatchMass), "Adult", "Juvenile"))
或者在不带ifelse
的基数R中
PBTdata$AgeClass <- c("Juvenile", "Adult")[is.na(PBTdata$HatchMass) + 1]
答案 1 :(得分:0)
使用case_when
library(dplyr)
PBTdata %>%
mutate(AgeClass = case_when(is.na(HatchMass) ~ "Adult",
TRUE ~ "Juvenile"))