У меня есть массив:
a <- c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
и хотел бы реализовать следующую функцию:
w<-function(a){
if (a>0){
a/sum(a)
}
else 1
}
Эта функция хотела бы проверить, есть ли какое-либо значение в a
больше 0, и если да, то разделите каждый элемент на сумму суммы.
В противном случае он должен просто записать 1.
Появляется следующее предупреждающее сообщение:
Warning message:
In if (a > 0) { :
the condition has length > 1 and only the first element will be used
Как я могу исправить функцию?