我正在尝试添加一列。我有一个列“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 备忘单(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")
)