替换R中的值范围

时间:2016-06-08 22:43:15

标签: r if-statement replace range

我正在尝试使用R中的ifelse函数替换一系列值1到14,使用新的值范围0到13,我的代码变得很长:

new_var <- with(data, ifelse(var==1, 0, ifelse(var==2, 1, ifelse(var==3, 2, ... ifelse(var==14, 13, NA))))

有没有办法使用ifelse指定范围?我试过这个,但它不起作用:

new_var <- with(data, ifelse(var==c(1:14), c(0:13), NA))

1 个答案:

答案 0 :(得分:0)

使用dplyr

 library(dplyr)
 data %>%
      mutate(new_var = var -1)