我可以在不安装软件包的情况下加载软件包的数据集吗?

时间:2014-08-29 01:00:17

标签: r

在包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中。

一般情况下,有没有办法在不安装软件包的情况下从软件包加载数据集?

2 个答案:

答案 0 :(得分:9)

您可以在R:

中执行此操作
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)

我不确定你是否可以下载tarball - 原则上你可能能够直接在网络连接上运行untar(),但我不知道认为底层机器实际上可以提取文件而无需先将整个tarball下载到你机器上的某处

答案 1 :(得分:0)

你说,&#34;由于我可能再也不会使用它,我不想安装包。&#34;如果您永远不会再次使用它是您的主要关注点,那么也许这个解决方案并不是您想要的,但它可能是最简单的解决方案:

  • 使用install.packages()
  • 安装软件包
  • 提取并保存所需的数据集。
  • 使用remove.packages()
  • 卸载软件包

所以最后的结果是你想要的三个简单的步骤,虽然这个过程确实涉及安装包,你希望避免。但是你最终没有系统中你不想要的软件包,所以最终的结果和你想要的一样。