r-根据多个条件为每条记录指定标签



这是我的df(data.frame(

Distance <- c(30, 20, 32, 20)
Speed <- c(25, 24, 17, 21)
df <-data.frame(Distance,Speed)
df
Distance Speed
1       30    25
2       20    24
3       19    15
4       20    21

我需要根据两个条件标记每一行:

  1. 如果距离=20并且
  2. 如果速度大于或等于18

如果条件满足,则标签=";危险"如果条件不满足,则标签="0";"正常";

所需的输出应该是这样的。

Distance Speed  Label
30    25 Normal
20    24 Danger
19    15 Normal
20    21 Danger

有什么有效的方法吗?

您可以在条件中使用if语句,然后将答案转换为标签。

library(dplyr)
df <- df %>% mutate(Label = ifelse(Distance == 20 & Speed >= 18, 'Danger', 'Normal'))

也许这应该有效。使用case_when创建条件向量

require(tidyverse)
df %>%
mutate( Label = case_when( Distance == 20 & Speed >= 18 ~ "Danger" , TRUE ~ "Normal"))

相关内容

  • 没有找到相关文章

最新更新