Я пытаюсь написать инфиксную функцию с именем% #%, которая будет работать с двумя векторами x и y.Операция x% #% y должна возвращать вектор такой же длины, что и x и y.Элемент i возвращаемого вектора должен быть x [i] + y [i], если x [i]> 0, и y [i]> 0, 0, если x [i]> 0 и y [i] <0 или если x[i] <0 и y [i]> 0, и -x [i] -y [i], если x [i] <0 и y [i] <0.Ошибка должна быть возвращена, если векторы имеют разную длину.</p>
x <- rnorm(10)
y <- rnorm(10)
'%#%' <- function(x,y) {
for (i in 1:10)
{
if (x[i]>0 & y[i]>0) paste(x[i]+y[i])
if (x[i]>0 & y[i]<0) paste(0)
if (x[i]<0 & y[i]>0) paste(0)
if (x[i]<0 & y[i]<0) paste(-x[i]-y[i])
else stop("Vectors have different lengths")
}}
x%#%y
Он просто продолжает выдавать мне сообщение об ошибке.