R中的if和else条件都被忽略

时间:2020-07-02 23:23:28

标签: r database for-loop if-statement operators

首先,我尝试在R中创建一个简单的if else语句,但始终忽略if条件,然后我做了两个if语句,但没有任何变化,问题是当is.na(datamean[[d]][k,j] == TRUE我的代码同时输入两个if语句时图片,如果is.na(datamean[[d]][k,j] == FALSE只是增加j。

所以我试图编写一些打印功能来确定问题,但我不能,这些是我使用的代码以及控制台中的输出

d表示数据框,k表示行,j表示列

for (d in seq_along(id))
{
  for (k in seq_len(nrow(datamean[[d]])))
  {
    p <- 0
    for(j in 1:4)
    {
      print(k)
      print(j)
      print(datamean[[d]][k,j])
      print(is.na(datamean[[d]][k,j]))
      print(p)
      if( is.na(datamean[[d]][k,j] == FALSE))
      {
          p <- p+1
          print('hello')
          if(p==4) 
          {
            nbs<-nbs+1
          }
      }
      if(is.na(datamean[[d]][k,j] == TRUE))
      {
        print('hello break')
        break
      }
  }
}
}

Print function's output in the console

1 个答案:

答案 0 :(得分:-2)

您应该检查并尝试以下操作:

for (d in seq_along(id))
{
  for (k in seq_len(nrow(datamean[[d]])))
  {
    p <- 0
    for(j in 1:4)
    {
      print(k)
      print(j)
      print(datamean[[d]][k,j])
      print(is.na(datamean[[d]][k,j]))
      print(p)
      if( is.na(datamean[[d]][k,j]) == FALSE)
      {
          p <- p+1
          print('hello')
          if(p==4) 
          {
            nbs<-nbs+1
          }
      }
      if(is.na(datamean[[d]][k,j]) == TRUE)
      {
        print('hello break')
        break
      }
  }
}
}