我试图在数据集中创建一个区域列,在其中指定坐标范围,并且应该根据条件输入相应的区域。我使用的代码如下:
我已经使用dplyr和多个ifelse来执行此操作,但是它似乎并没有给我正确的结果。
RoundedUpAverageScore = ROUND(AVERAGE(SmileyHistory[SatisfactionLevel]),0)
结果与我预期的结果不符。例如,第一行的编码为3751013,但当它应该给我区域2时,它却给了我区域3。这可能出什么问题了?
答案 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))