Error .. missing value where TRUE/FALSE needed

后端 未结 3 567
伪装坚强ぢ
伪装坚强ぢ 2021-01-28 19:34

I have been trying to run this code (below here) and I have gotten that message \"Error in if (temp[ii] == 0) { : missing value where TRUE/FALSE needed\"...

temp         


        
相关标签:
3条回答
  • 2021-01-28 20:28

    At a guess I'm going to say that this is in R - if so I'm guessing that this line:

    if (temp[i] == 0) (or temp[ii] == 0)
    

    is resulting in an NA, and if conditions must have a TRUE or FALSE value.

    Using a debugger if you can, I'd interrogate the value of temp[i] before the if block.

    0 讨论(0)
  • 2021-01-28 20:29

    Your problem is that temp[ii] is returning NA because ii goes out of bounds:

    ii = i + 1:tm     #Your declaration for ii
    ii = 1:tm + 1:tm  #Evaluates to
    

    So ii will definitely be larger than tm (and therefore length(temp) at some point.

    In order to better understand/debug for loops, consider printing just the indices:

    for(i in 1:tm)
    {
        print(i)
        for(ii in i + 1:tm)
            print(ii)
    }
    
    0 讨论(0)
  • 2021-01-28 20:34

    Difficult without knowing the language, but i think the issue is that the value in ii can be greater than the length of temp when i is at its upper bound. I'd have expected an index out of range or something similar but, without knowing the language, who knows! Hope you get your problem fixed.

    0 讨论(0)
提交回复
热议问题