2

我正在尝试使用 R 包xlsx加载此 URL 上可用的文件: 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.xlsx或将其加载到 R 中read.xlsx2

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:(没有这样的文件或目录)

有任何想法吗?

4

1 回答 1

2

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

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

2) gdata 包。 如果上述方法仍然不起作用,那么您可以read.xls在 gdata 中尝试。它使用 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)

?read.xls在 gdata 中有更多信息。

于 2011-12-11T17:10:38.730 回答