Из документации ifelse:
‘ifelse’ returns a value with the same shape as ‘test’ which is
filled with elements selected from either ‘yes’ or ‘no’ depending
on whether the element of ‘test’ is ‘TRUE’ or ‘FALSE’.
Таким образом, ваш вход имеет длину один, поэтому выход усечен до длины 1.
Вы также можете увидеть это проиллюстрировано более простым пример:
ifelse(TRUE, c(1, 3), 7)
# [1] 1