【发布时间】:2018-03-16 03:40:37
【问题描述】:
我刚刚开始在我正在学习的课程中使用 R,它要求整数值 > 0(参数 1),它将值 75 乘以集合乘数(参数 2),其他元素乘以不同的乘数(参数 3)。
我已经有了之前的 h 和 s 值:
h=sample(1:100,40)
s=c()
for(i in 1:100){if(h[i]<25){s[i]<-h[i]*10}
else if(h[i]>75){s[i]<-h[i]*10}
else{s[i]<-h[i]*0.1}}
Error in if (h[i] < 25) { : missing value where TRUE/FALSE needed
错误消息显示在上面的 for 循环中,但如果我忽略它,我仍然会得到答案。我想要但不会在函数中工作。
fun2<-function(x=s,arg1,arg2,arg3)
{w<-for(i in 1:100){if(h[i]>0){s[i]<-h[i]*arg1}else if(h[i]<25){s[i]<-
h[i]*arg2}
else if(h[i]>75){s[i]<-h[i]*arg2}
else{s[i]<-h[i]*arg3}}
return(w)}
fun2(arg1=10,arg2=3,arg3=10)
Error in if (h[i] > 0) { : missing value where TRUE/FALSE needed
我不确定在等式中将真/假陈述放在哪里。
【问题讨论】:
标签: r function for-loop if-statement