【问题标题】:R Language: Error in read.table(file.path(data.dir, file_name1)) : no lines available in inputR语言:read.table中的错误(file.path(data.dir,file_name1)):输入中没有可用的行
【发布时间】:2012-04-22 09:54:33
【问题描述】:

我很难用 R 语言编码。我要做的是将大量数据读入一个数据帧,并制作漂亮的图片。

这就是我所拥有的:

# assign data
file_name1<-"data1_txt"
file_name2<-"data2_txt"

data.dir<-"/...../Documents/R programing Language/"

for(i in 1:length(1)){
    newData1<-read.table(file.path(data.dir, file_name1))

    #Replace negative numbers with NA
    xx <- which(datavalues<0)
    datavalues[xx] <- NA    

    newData2<-read.table(file.path(data.dir,file_name2))

}

我的错误是:

read.table(file.path(data.dir, file_name1)) 中的错误: 输入中没有可用的行

我正在尝试自己弄清楚,但我对 R 语言非常陌生,而且我对 R 中的函数没有足够的了解。请解释这个错误的含义并对我的编码提出建议。

非常感谢, 乌卡

【问题讨论】:

  • 我会首先尝试读取单个文件,也许是data1_txt 开始。我将首先使用getwd() 了解您的 R 会话认为它当前在您的目录中的位置,然后我将使用setwd() 导航到选择的目录。一旦你认为你在那里,用dir()list.files() 查看该目录中有哪些文件。使用getwd()setwd() 进行迭代,直到找到正确的目录。然后只需使用read.table() 阅读它,并避免使用 for 循环和file.path() 等使事情复杂化。确保文件名正确。以上无扩展
  • 您可能已经想到了这一点,但为了安全起见:您确定“data1_txt”确实是您的完整文件名吗? Windows 可能隐藏了扩展。
  • @Chase 感谢您的评论。我试图读取一个文件,但我仍然有同样的错误。你对循环有什么了解吗?我编写了这样的循环:for(i in 1:length(1)) 但我不确定 length(1) 是否正确........
  • 那个for(i in 1:length(1))“循环”是毫无意义的。
  • @Uka 如果你输入dir("/...../Documents/R programing Language/"会发生什么?

标签: r import


【解决方案1】:

类似的情况已经解决here 有类似的问题(我知道这篇文章很老了)。最近我在解析几个文件时遇到这样的错误......原因是一些文件是空的,这使得错误消息有意义。

无论如何,请确保您的输入不会为空,使用 trytrycatch,正如提到的 link 所建议的那样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多