2016-06-08 95 views
0

我試圖用R中的ifelse函數替換範圍值爲1到14的值爲0到13的新範圍。我的代碼變得冗長:替換R中的值的範圍

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

數據$ new_var =數據$ VAR - 1? – Psidom

+0

完美 - 一種更簡單的方法! – Calinadian

回答

0

使用dplyr

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