在 R 中,使用具有多个条件规则的函数 case_when() 从列创建新列

问题描述 投票:0回答:1

我正在尝试添加一列。我有一个列“Y”,其值(数字)从 -50 到 350,我想创建一个新列“Z”,评估创建变量的值,条件从 -30 到 30 =“Transition”,31 到100 =“早”,101到200 =“中”,201到300 =“晚”其他一切“NA”我正在尝试使用case_when函数,在dplyr的mutate函数中,请参见下面的代码。但不断收到错误消息。任何帮助将非常感激

DataSetNew <- DataSet %>%
dplyr::mutate(ColumnZ = case_when(
ColumnY == < = 30 ~ "Transition",
ColumnY == between(31,100) ~ "Early",
ColumnY == between(101,200) ~ "Mid",
ColumnY == between(201,305) ~ "Late",
TRUE ~ "NA"
))
Error: unexpected '<' in:
"  dplyr::mutate(ColumnZ = case_when(
ColumnY == <"
dplyr case mutate
1个回答
0
投票

看来背后的运营商太多了。 查看 dplyr 备忘单(google -> pdf)以了解如何使用它们。

你可以尝试:

library (dplyr)
DataSetNew <- DataSet %>%
 mutate(ColumnZ = case_when(
  ColumnY < 30 ~ "Transition",
  ColumnY > 31 & ColumnY < 100 ~ "Early",
  ColumnY > 101 & ColumnY < 200 == between(101,200) ~ "Mid",
  ColumnY > 201 & ColumnY < 305 == between(201,305) ~ "Late")
)
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.