r - 将文本变量分配给r中的数字字段
问题描述
大家好,我正在尝试将类别分配给列中的值范围,该列的值范围为 365-433。我尝试使用 case_when 函数并尽可能地模仿文档中的语法,但似乎没有所需的输出。为了澄清起见,我试图将“象限”值在 365-422 之间的数据点指定为“Transit”,将“象限”值 == 到 424 指定为“ZOI”,“象限”值 == 到 423 并且在 425-433 之间作为“相邻”。最后一个有点棘手,因为我的重点是那个 424 多边形,所以如果有人对我如何解释条件下奇怪的重叠有洞察力,我将不胜感激。
谢谢!
sightingsData$quadID <- sightingsData$Quadrant
case_when(
sightingsData$Quadrant %% 422 <= 0 ~ "Transit"
sightingsData$Quadrant %% 424 == 0 ~ "ZOI"
sightingsData$Quadrant %% 423 >= 0 ~ "Adjacent"
)
解决方案
如果是between
,那么我们可以将代码更改为
library(dplyr)
sightingsData <- sightingsData %>%
mutate(quadID = case_when(Quadrant == 424 ~ "ZOI",
Quadrant == 323 |between(Quadrant, 325, 433) ~ "Transit",
TRUE ~ "Adjacent"))
此外,对于多个分组,一个选项是cut
sightingsData %>%
mutate(quadID, cut(Quadrant, breaks = c(365, 422, 433, Inf),
labels = c("Transit", "ZOI", "Adjacent")))
推荐阅读
- angular - 如何使用 Angular 表单创建可编辑的 primeNG 表?
- wordpress - 提交评论导航到WordPress中的空白页面
- android - 将 Firebase 数据转换为格式化的 Google 表格
- javascript - Vuetify 菜单组件自动属性未正确居中菜单项
- java - 程序类型已存在:com.google.android.gms.location.places.zza
- javascript - let in for 循环只执行一次的问题
- django - 不能同时设置 `read_only` 和 `write_only`
- mysql - MySQL - 如何在 SELECT 查询中使用 ENCLOSED BY?
- python - TensorFlow:来自 Gumbel Softmax 的样本整数
- javascript - 有没有办法像我们在 python 中对 list 一样访问减号索引数组元素?