我正在尝试使用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.xlsx
或read.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 :(没有这样的文件或目录)
有什么想法吗?
答案 0 :(得分:2)
1)xlsx包。尝试使用file.choose
,这将允许您以交互方式导航到该文件,从而消除错误识别它的可能性:
fn <- file.choose()
DF <- read.xls(fn, 1)
2)gdata包。如果上述方法仍无效,那么您可以在gdata中尝试read.xls
。它使用perl程序而不是java。它可以读取xls
和xlsx
文件,并且可以直接从网上读取数据(将其下载到临时文件中并以对用户透明的方式从那里读取):
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
有更多信息。