2014-08-29 99 views
4

在包ISLR中,有一个数据集Default我可以在不安装软件包的情况下加载软件包的数据集吗?

我想使用该数据集,但我的机器上未安装ISLR软件包。

data(Default) 
# Warning message: 
# In data(Default) : data set ‘Default’ not found 
library(ISLR) 
# Error in library(ISLR) : there is no package called ‘ISLR’ 

由于我可能永远不会再使用它,我不想安装该软件包。我想过从网上阅读它,但它不在包装描述的linked web page中。

一般来说,有没有办法从包中加载数据集而不安装包?如果你想保持数据文件的副本

download.file("http://cran.r-project.org/src/contrib/ISLR_1.0.tar.gz", 
       dest="ISLR.tar.gz") 
untar("ISLR.tar.gz",files="ISLR/data/Default.rda") 
L <- load("ISLR/data/Default.rda") 
summary(Default) 

file.copy("ISLR/data/Default.rda",".") 

清理:

unlink(c("ISLR.tar.gz","ISLR"),recursive=TRUE) 

+0

您可以下载tar并从那里读取它 - 但是怀疑这对您来说比安装软件包更好。 – user20650 2014-08-29 01:08:14

+4

'install.packages(“ISLR”,dependencies = FALSE);库(ISLR);数据(默认); remove.packages(“ISLR”);' - 我知道这在技术上安装了这个软件包,但是你将不得不以任何方式下载它。 – thelatemail 2014-08-29 01:15:58

+2

目前最大的贡献包为60MB,大部分都在3MB以下。除非你使用特殊的连接或CPU,否则不会花费很长时间。无论如何,你可能不得不下载整个压缩包。那么为什么不保持简单? – thelatemail 2014-08-29 01:47:41

回答

7

您可以从R内部做到这一点米不知道你可以避开不得不下载压缩包 - 原则上你可能是ab le直接在网络连接上运行untar(),但我不认为底层机器实际上可以提取文件,而无需首先将您的机器上的所有tarball文件下载到