r - 如何创建具有两个新类别的新列?
问题描述
我正在尝试根据我形成的 Tibble 中的 HatchMass 创建一个名为 AgeClass 的新列,其中包含两个新类别(“青少年”和“成人”)。“成人”类别几乎是该列中的任何 NA 值。我尝试了以下代码:
PBTdata %>% PBTdata
mutate(AgeClass = ifelse(HatchMass != is.na(HatchMass), "Juvenile", "Adult"))
我不断得到一个具有 AgeClass 列的输出,但它只输出“少年”类别并将“成人”保留为 NA。如何更改 NA 值以便将它们归类为“成人”?
解决方案
我们可以直接使用is.na
in ifelse
。尝试
library(dplyr)
PBTdata %>% mutate(AgeClass = ifelse(is.na(HatchMass), "Adult", "Juvenile"))
或者在没有的基础 R 中ifelse
PBTdata$AgeClass <- c("Juvenile", "Adult")[is.na(PBTdata$HatchMass) + 1]
推荐阅读
- mysql - 如何从 Ticket 表中为每个用户找到最近的“created_date”?
- json - 单独对象中的属性之间的 JSON 模式依赖关系
- javascript - 为什么我不能用 JS 改变一个 html 元素?
- python - websocket在接收数据时是否会花费出站数据流量?
- python - RuntimeError:当前 NumPy 安装未能通过健全性检查
- sql - SSRS 报告垂直对齐更改为水平
- kubernetes - Kubernetes spec.ports required value 错误
- adonis.js - AdonisJs 找不到模块 'phc-bcrypt'
- python-3.x - 使用子进程立即退出 shell 脚本
- c++ - Can I use lambda as a hashing function in boost::multi_index hash-like interface?