将文本变量分配给r中的数字字段
Assigning text variables to numerical field in r
大家好,我正在尝试将类别分配给值范围为 365-433 的列中的一系列值。我尝试使用 case_when 函数并尽我所能模仿文档中的语法,但似乎没有获得所需的输出。为了澄清起见,我试图将 "Quadrant" 值在 365-422 之间的数据点指定为 "Transit","Quadrant" 值 == 到 424 为 "ZOI",以及 "Quadrant"值 == 到 423 并且在 425-433 之间为 "Adjacent"。最后一个有点棘手,因为我的重点是那个 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")))
大家好,我正在尝试将类别分配给值范围为 365-433 的列中的一系列值。我尝试使用 case_when 函数并尽我所能模仿文档中的语法,但似乎没有获得所需的输出。为了澄清起见,我试图将 "Quadrant" 值在 365-422 之间的数据点指定为 "Transit","Quadrant" 值 == 到 424 为 "ZOI",以及 "Quadrant"值 == 到 423 并且在 425-433 之间为 "Adjacent"。最后一个有点棘手,因为我的重点是那个 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")))