使用dplyr标记区域

时间:2019-04-09 10:32:50

标签: r dplyr

我试图在数据集中创建一个区域列,在其中指定坐标范围,并且应该根据条件输入相应的区域。我使用的代码如下:

我已经使用dplyr和多个ifelse来执行此操作,但是它似乎并没有给我正确的结果。

RoundedUpAverageScore = ROUND(AVERAGE(SmileyHistory[SatisfactionLevel]),0)

结果与我预期的结果不符。例如,第一行的编码为3751013,但当它应该给我区域2时,它却给了我区域3。这可能出什么问题了?

1 个答案:

答案 0 :(得分:2)

如评论中所述,使用case_when

train = train %>%
  mutate(area = case_when(cood < 3750023.25 ~ 'Area 1', 
                          3750023.25 >= cood & cood < 3759048.50 ~ 'Area 2',
                          3759048.50 >= cood & cood < 3768073.75 ~ 'Area 3',
                          3768073.75 >= cood ~ 'Area 4',
                          TRUE ~ NA))