首页 文章

- >缺少值,需要TRUE / FALSE

提问于
浏览
-3

我的代码有问题,它不断重复返回此错误代码 . 肯定会感谢你的帮助!

for (i in 1:length(X)) {
  if (Q[i] < 30) {
    Q2[i] = Q[i]
    for (i in i:length(X)) {
      if (Q[i + 1] < 30) {
        Q[i] = 0
        break
      }
    }
  }
  else {
    Q2[i] = Q[i]
  }
}

if(Q [i 1] <30){:缺失值需要TRUE / FALSE时出错

1 回答

  • 1

    你正在循环我1到X的长度 .

    if (Q[i + 1] < 30) { ,您正在尝试访问元素 i+1 . 在循环的最后一次迭代中,我将大于X的长度 .

    为了避免这种情况,你应该只循环到 length(X) - 1

    此外,您的内部循环使用与外部循环相同的索引变量:

    for (i in i:length(X)) {

    除了做坏事之外,它可能没有按照你的意图行事 . 您应该将内循环索引更改为 j

    for (j in i:length(X)) {

相关问题