Keywords: data
### ** Examples x = c(1:4, 3:2, 1:4) fifelse(x > 2L, x, x - 1L)
[1] 0 1 3 4 3 1 0 1 3 4
# unlike ifelse, fifelse preserves attributes, taken from the 'yes' argument dates = as.Date(c("2011-01-01","2011-01-02","2011-01-03","2011-01-04","2011-01-05")) ifelse(dates == "2011-01-01", dates - 1, dates)
[1] 14974 14976 14977 14978 14979
fifelse(dates == "2011-01-01", dates - 1, dates)
[1] "2010-12-31" "2011-01-02" "2011-01-03" "2011-01-04" "2011-01-05"
yes = factor(c("a","b","c")) no = yes[1L] ifelse(c(TRUE,FALSE,TRUE), yes, no)
[1] 1 1 3
fifelse(c(TRUE,FALSE,TRUE), yes, no)
[1] a a c Levels: a b c
# Example of using the 'na' argument fifelse(test = c(-5L:5L < 0L, NA), yes = 1L, no = 0L, na = 2L)
[1] 1 1 1 1 1 0 0 0 0 0 0 2