R调试嵌套的ifelse()语句

时间:2017-10-21 23:19:03

标签: r optimization

当我逐行运行此代码时,它可以工作,但如果我运行整个代码块,它会给我一个错误。 我在这里要做的是什么 ifelse(< cond>,{yes; ifelse(< cond>,{yes,no})},no)

image-1.jpg image-2.jpg image-3.jpg image-4.jpg image-5.jpg

但它给了我一个错误:

ifelse(myfunct(R) >= myfunct(worst_point), 
 {IC <- C - 0.5 * (R - C); ifelse(myfunct(IC) < myfunct(worst_point), {points[[which.max(result)]] <- IC},
  for (i in 2:(n+1)) {points[[i]] <- best_point + 0.5 * (points[[i]] - best_point)})},
  for (i in 2:(n+1)) {points[[i]] <- best_point + 0.5 * (points[[i]] - best_point)})

它给我一个错误的部分是ifelse()语句中的for循环,我不知道为什么,有人可以帮我理解这个错误信息吗?

1 个答案:

答案 0 :(得分:1)

我认为问题是在yes的{​​{1}}和no参数中进行了分配。该函数用于返回与其ifelse()参数相同形状的值。在这里,我尝试使用testif()语句重写它,并根据您的评论,您已经成功完成了。

else