R中函数中未使用的参数

时间:2014-03-30 10:52:30

标签: r

我是R的新手并尝试使用接受拒绝方法生成标准正常变量作为赋值的一部分,我无法弄清楚我在定义此函数时的位置。我已经通过未使用的参数错误查看了其他情况,但它们似乎与将额外的变量作为输入相关,我不相信我这样做。有人可以解释为什么会这样吗?我真的想更好地了解R的工作原理。

AR<-function(u1,u2){
    y1=(-1)*(log(u1))
    y2=(-1)*(log(u2))
    condition=(((y1)-1)*((y1)-1))/2
    u3=runif(1)
    ifelse(u3>=0.5,zz=abs(z),zz=(-1)*(abs(z)))
}

u1=runif(1)
u2=runif(1)
AR(u1,u2)
# Error in ifelse(u3 >= 0.5, zz = abs(z), zz = (-1) * (abs(z))) : 
#  unused argument(s) (zz = abs(z), zz = (-1) * (abs(z)))

1 个答案:

答案 0 :(得分:3)

ifelse没有名为zz的参数(名称为test, yes, no,请参阅?ifelse)。这就是您收到错误unused arguments的原因。 ifelse的正确用法是:

zz <- ifelse(u3 >= 0.5, abs(z), (-1) * abs(z))