r - 如何添加对最后一个“n”值进行排序的列?
问题描述
我有一个带有列的数据框Active
和Cycles
. 我想添加第三列state
,它是根据循环数分类的。
例如:正常状态的前20个,后20个“紧急”,其余的“正常”
我尝试为最后一个值和第一个值创建数据框,然后加入它们,但这很麻烦,我不知道如何将标签放在中间数据上。
df <- data_frame %>%
group_by(ACT) %>%
top_n(20)
df=mutate(df, Fault = "EMERGENCIA")
我突然想到,使用ifelse
它会更容易,但我不知道在最后一个条件下放什么。
Dt <- data_frame %>%
group_by(ACT) %>%
mutate(Faul = ifelse(CYCLE <= 20 , "Normal",
ifelse(20 < CYCLE & CYCLE < ???????, "alerta", "emergencia")))
解决方案
您可以尝试case_when
区分以下情况:
data_frame %>%
mutate(Faul = case_when(CYCLE <= 20 ~ "Normal",
CYCLE <= 40 ~ "alerta",
TRUE ~ "emergencia"))
推荐阅读
- sql - oracle sql中星号的使用
- ace-editor - Ace Editor (1.4.3) 在按下 [enter] 时在错误的列上断线
- python-3.x - 发送带有内嵌图像的电子邮件 Flask-Mail?
- python - 使用 Pandas 返回单日总和
- c# - 将 MvvmCross 与 Xamarin.Mac 一起使用
- mysql - St_buffer() 给出不准确的结果
- javascript - 如何使用 Discord-Commando 回复其他机器人
- sql - 仅按一列分组
- html - 表单中的最后输入文本会自动填充存储在 Chrome 中的用户名
- datetime - 给定 IANA 时区和本地时间,将其解析为 Maybe Posix?