In R, the ternary operator as such, does not exist, but you can use the following to perform the same task as a ternary operator:
The ifelse() function:
a <- c(10,20,30)
x <- ifelse(a== 10, 10,20 )
x
[1] 10 20 20
x <- ifelse(a==20, 10, 20)
x
[1] 20 10 20
Defining operators:
You can also define c style ?: ternary operator as follows:
`?` <- function(x, y)
eval(
sapply(
strsplit(
deparse(substitute(y)),
":"
),
function(e) parse(text = e)
)[[2 - as.logical(x)]])
For example:
1 ? 5+5 : 5
[1] 10
FALSE ? 5*2 : 0
[1] 0
x <- (1 ? 5*5 : 8)
x
[1] 25