R read.xlsx给了我java.io.FileNotFoundException

时间:2011-12-11 16:42:40

标签: r r-xlsx

我正在尝试使用R包xlsx加载此网址上提供的文件:     http://www.plosgenetics.org/article/fetchSingleRepresentation.action?uri=info:doi/10.1371/journal.pgen.1002236.s019

library(xlsx)
filename="/home/avilella/00x/mobile.element.insertions.1000g.journal.pgen.1002236.s019.xlsx"

system(paste("ls -l",filename))
-rw-rw-r-- 1 avilella avilella 2372143 2011-12-11 16:36 /home/avilella/00x/mobile.element.insertions.1000g.journal.pgen.1002236.s019.xlsx

下载完成后,我尝试使用read.xlsxread.xlsx2将其加载到R中:

file <- system.file("mobile.element.insertions.1000g", filename, package = "xlsx")
res <- read.xlsx2(file, 1)  # read first sheet

但是我收到了一个错误:

  

.jnew("java/io/FileInputStream", file)中的错误:         java.io.FileNotFoundException :(没有这样的文件或目录)

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

1)xlsx包。尝试使用file.choose,这将允许您以交互方式导航到该文件,从而消除错误识别它的可能性:

fn <- file.choose()
DF <- read.xls(fn, 1)

2)gdata包。如果上述方法仍无效,那么您可以在gdata中尝试read.xls。它使用perl程序而不是java。它可以读取xlsxlsx文件,并且可以直接从网上读取数据(将其下载到临时文件中并以对用户透明的方式从那里读取):

library(gdata)
URL <- "http://www.plosgenetics.org/article/fetchSingleRepresentation.action?uri=info:doi/10.1371/journal.pgen.1002236.s019"
DF <- read.xls(URL)
gdata中的

?read.xls有更多信息。