Вот простой способ без ifelse:
ifelse
(a/sum(a))^(a>0)
Пример:
a <- c(0, 1, 0, 0, 1, 1, 0, 1) (a/sum(a))^(a>0) [1] 1.00 0.25 1.00 1.00 0.25 0.25 1.00 0.25