我正在尝试编写一个名为 %#% 的中缀函数,它将对两个向量 x 和 y 进行操作。操作 x%#%y 应该返回一个与 x 和 y 长度相同的向量。如果 x[i]>0 且 y[i]>0,则返回向量的元素 i 应为 x[i]+y[i],如果 x[i]>0 且 y[i]<0 或 x 则为 0 [i]<0 and y[i]>0, and -x[i]-y[i] if x[i]<0 and y[i]<0. 如果向量具有不同的长度,则应返回错误。
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
它只是不断给我错误信息。