【问题标题】:Error: object 'len' not found错误:找不到对象“len”
【发布时间】:2016-03-01 06:44:25
【问题描述】:

我喜欢提供更多信息。我从 4 个基因开始,并使用以下脚本定义了它们的开启和关闭条件:

Proli <- function (DISC1, GSK3B, DIXDC1, CTNNB1){     
  inputs <- permutations(2,4,v=c(0,1),repeats.allowed=TRUE);
  if (DISC1 == 1 && GSK3B == 0 && DIXDC1 == 1 && CTNNB1 == 1){
    Proliferation <- "TRUE"  
  }
  else
  {
    Proliferation <- "FALSE"
  }
  Proliferation
}

然后我加载了gtoolsheirpart

inputs <- permutations(2,26,v=c(0,1),repeats.allowed=TRUE)
len <- length[inputs]
for(i in 1:len) 
{
  if(inputs[i,1] == 1 && inputs[i,2] == 0 && inputs[i,3] == 1 && inputs[i,4] == 1){
    #Constructing  a Truth Table
    output[i] <- 1
  }
  else{
    output[i] <- 0
  }
}

现在我得到错误输出[i]

【问题讨论】:

  • 您必须在for 循环之前定义len。你的脚本是从哪里来的?
  • 也许你的意思是for(i in 1:nrow(inputs))
  • 您在脚本中的何处初始化了对象“len”?
  • 另外,请小心使用布尔值。 R - boolean operators && and ||.
  • @Pascal "如何发现 C/java 程序员学习 R" :-)

标签: javascript jquery r loops programming-tools


【解决方案1】:

#只需添加到您的脚本之上

len <- lenght(object on with you do your loop)

len <- nrow(object on with you do your loop)



for(i in 1:len) {
        if(inputs[i,1] == 1 && inputs[i,2] == 0 && inputs[i,3] == 1 && inputs[i,4] == 1){
            #Constructing  a Truth Table
            output[i] <- 1
        }
        else{
            output[i] <- 0
        }
    }

【讨论】: