Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何从下载zip文件安装软件包_R - Fatal编程技术网

R 如何从下载zip文件安装软件包

R 如何从下载zip文件安装软件包,r,R,我已经下载了一个zip文件 是否可以使用此zip或解压版本从R控制台安装到特定路径 install.packages("C:/Users/Desktop/rvest-master.zip', lib='C:/R/R-3.2.1',repos = NULL) 我键入了上一个命令,但不起作用 > setwd("C:/Users/Desktop/") > unzip("rvest-master.zip") > file.rename("rvest-master", "rvest")

我已经下载了一个zip文件

是否可以使用此zip或解压版本从R控制台安装到特定路径

install.packages("C:/Users/Desktop/rvest-master.zip', lib='C:/R/R-3.2.1',repos = NULL)
我键入了上一个命令,但不起作用

> setwd("C:/Users/Desktop/")
> unzip("rvest-master.zip")
> file.rename("rvest-master", "rvest")
[1] TRUE
> shell("R CMD build rvest")
Warning messages:
1: running command ' /c R CMD build rvest' had status 127 
2: In shell("R CMD build rvest") :
  'R CMD build rvest' execution failed with error code 127
> install.packages("rvest_0.2.0.9000.tar.gz", repos = NULL)
Installing package into ‘C:/Users/Documents/R/win-library/3.2’
(as ‘lib’ is unspecified)
Warning: invalid package 'rvest_0.2.0.9000.tar.gz'
Error: ERROR: no packages specified
Warning messages:
1: running command '"C:/R/R-3.2.1/bin/x64/R" CMD INSTALL -l "C:\Users\Documents\R\win-library\3.2" "rvest_0.2.0.9000.tar.gz"' had status 1 
2: In install.packages("rvest_0.2.0.9000.tar.gz", repos = NULL) :
  installation of package ‘rvest_0.2.0.9000.tar.gz’ had non-zero exit status

前一行是答案的结果

您下载了一个包源的zip。这不是包源的标准打包,也不是标准Windows二进制文件(即,作为.zip分发的内置包,如来自CRAN的包)

最简单的方法是使用devtools直接从Github安装此软件包:

library("devtools")
install_github("hadley/rvest")
如果您决定在本地安装它,则需要解压包目录,使用
R CMD build rvest
从命令行构建它,然后使用
R CMD install
或使用您已经拥有的命令(但在构建的“tarball”上执行)从R内部进行安装。以下是如何在R中完成所有这些:

setwd("C:/Users/Desktop/")
unzip("rvest-master.zip")
file.rename("rvest-master", "rvest")
shell("R CMD build rvest")
这将在当前目录中生成包的tarball版本。然后,您可以使用

install.packages("rvest_0.2.0.9000.tar.gz", repos = NULL)
由于版本号合并到tarball名称中,因此新文件的名称可能并不总是显而易见的。您可以使用
list.files()
抓取新的tarball

install.packages(list.files(pattern="rvest*.tar.gz"), repos = NULL)
如果
shell()

“R”未被识别为内部或外部命令

您需要确保R位于shell路径中。您可以添加以下内容

Sys.setenv(PATH=paste(R.home("bin"), Sys.getenv("PATH"), sep=";"))

下载package.tar.gz

然后从命令行:

R CMD INSTALL package.tar.gz

您可以在devtools包中使用install_local方法。解压压缩后的文件并在path参数中指定包含包的描述文件的文件夹,或者您也可以使用subdir参数


如果它不能解释,我将发布一个例子。。。让我知道。

试试
install.packages('C:/Users/Desktop/rvest master.zip',repos=NULL,type=“win.binary”)
。(未测试)

如果这是包的源代码的zip,并且R核心
install.packages()
不起作用,那么您可以使用
devtools
包中的
install\u local()


我经常在从GitHub安装软件包时这样做,因为通过代理获取curl非常痛苦。因此,我下载了源zip并按如下方式安装。

在Windows7和R3.5.3上,我必须解压缩zip,将其重新打包为.tar.gz,然后使用下面的命令安装它。安装zip时,包不会被R索引

install.packages("C:/your-package.tar.gz", repos = NULL, type = "win.binary", lib="C:/Users/username/Documents/R/R-3.5.3/library")
环境

版本 _
平台x86_64-w64-mingw32
拱门x86_64
os mingw32
系统x86_64,mingw32
状态
专业3
小调5.3
2019年
第03个月
第11天
svn修订版76217
语言R
版本3.5.3(2019-03-11) 绰号“伟大真理”


很难相信这没有一个清晰、简单和准确的答案

  • 您通过单击“下载为zip”从github下载的zip是该repo的一个包,它不像CRAN托管的那样是标准的R源代码包格式。因此,使用CRAN source tar.gz的方法将无法使用这种zip
  • 最简单的方法是使用
    devtools::install\u local
    。如果devtools给您带来了太多的依赖项,您可以使用
    remotes::install_local
    ,这是真正的函数,依赖项要少得多

  • 可能重复:“不工作”的确切含义是什么?您收到错误消息了吗?@cr1msonB1ade请您告诉我我在命令中做错了什么?我会先修复您的引号(第一个是双引号,第二个是单引号),然后尝试添加
    type='source'
    。您得到的错误是什么?
    shell()
    命令不起作用,因为R不在系统搜索路径上。您可以在R中通过键入Sys.getenv(“PATH”)
    并查看是否包含您的R目录来检查这一点。如果没有,您需要添加它(),然后重新启动R。但是OP希望从zip安装,而不是tar.gztar.gz是安装R软件包的默认设置。无论它是否有助于OP,包括一个示例都会大大改进这个答案。非常好。您也可以直接从cran复制链接地址。这里有一个例子<代码>安装程序包('https://cran.r-project.org/bin/windows/contrib/3.3/proxy_0.4-20.zip,repos=NULL,type=“win.binary”)我非常怀疑这是否有效。OP下载了一个githb repo zip,这是一个针对win的二进制软件包,只有CRAN托管这种文件。