1:x中的错误:长度为0的参数

时间:2014-11-18 01:20:49

标签: r

我正在尝试在R中读取少量文件(如A,B,...),然后对于每个文件,逐行迭代,使用某个截止值过滤某些行,并将其保存在data.frame和后来做了一个情节。我尝试使用嵌套循环和列表,而不是一个接一个地做,但它返回了这个错误:

Error in 1:x : argument of length 0

我的代码:

A <- read.delim("A.txt",header=F)
B <- read.delim("B.txt",header=F)
C <- read.delim("C.txt",header=F)
D <- read.delim("D.txt",header=F)


mylist <- list (
  "A"=A,
  "B"=B,
  "C"=C,
  "D"=D
  )

#also tried mylist <- c("A","B","C","D")   




for (j in names(mylist)){
    x <- nrow(j) 
    d <- data.frame()
    for (i in 1:x){
      if(j[i,1]<0){
        d <- rbind(d, (j[i,]))
      }
      else {next}
    }

    #make plot

    }

1 个答案:

答案 0 :(得分:2)

for (j in names(mylist)){

这会迭代mylist对象的名称,因此j将包含字符串&#34; A&#34;,&#34; B&#34;,&#34; C& #34;等等。在此问候nrow不会做任何明智的事情。您可能希望迭代mylist内容

for (j in mylist) {