【问题标题】:I want to install package xlsx on R 2.8.1 on windows but I have to use .tar.gz old package when I need .zip我想在 Windows 上的 R 2.8.1 上安装包 xlsx,但是当我需要 .zip 时我必须使用 .tar.gz 旧包
【发布时间】:2018-10-19 09:07:01
【问题描述】:

由于这里解释太长的原因,我必须使用 R.2.8.1(很遗憾)。我需要在上面安装 xlsx 包。由于我使用的是 R 2.8.1,大约十岁,我不能使用最新版本的 xlsx,但是旧版本,例如 2010 年的 xlsx_0.1.3 似乎是一个不错的选择。但是,每个 R-CRAN 策略的先前版本仅在 tar.gz 中可用。 这对我来说非常不幸,因为我必须在 Windows 上使用 RGui,它只接受安装中的 .Zip 包。因此,我徒劳地尝试了以下内容:

1-我尝试使用 Rcmd,但收到以下错误消息:

C:\Program Files (x86)\R\R-2.8.1\bin>Rcmd INSTALL C:\Users\username\Downloads\xlsx_0.1.3.tar.gz
 Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at C:\PROGRA~2\R\R-28~1.1/bin/INSTALL line 42.

所以我放弃了这个。

2-那么我认为最好的解决方案是将包 xlsx_0.1.3.tar.gz 转换为兼容的 xlsx_0.1.3.zip 包,方法是使用 R.2.8.1 构建它,但我做不到。这是我迄今为止尝试过的事情之一。 我解压了 xlsx_0.1.3.tar.gz 并按以下方式组织它,这让我走得最远:

Documents\xlsx
Documents\xlsx\activate.bat
Documents\xlsx\build_xlsx.bat
Documents\xlsx\R
Documents\xlsx\R\inst
Documents\xlsx\R\man
Documents\xlsx\R\other
Documents\xlsx\R\R
Documents\xlsx\R\DESCRIPTION
Documents\xlsx\R\NAMESPACE    
Documents\xlsx\R\NEWS
Documents\xlsx\R\WISHLIST

在 activate.bat 中,我写道:

SET TMP=C:\Users\username\Documents\TOTO\xlsx\tmp
SET TEMP=%TMP%
SET RTOOLSPATH=C:\DEV_307\toto\Rtools
SET RPATH=C:\DEV\toto\R\R-2.8.1
SET PATH=%RTOOLSPATH%\bin;%RTOOLSPATH%\MinGW\bin;%RPATH%\bin;%PATH%

在 build_xlsx.bat 中,我写道:

R CMD BUILD R
R CMD check --no-examples --no-tests R
R CMD build --docs=normal --binary R

那我还是得到:

C:\Users\username\Documents\TOTO\xlsx>R CMD BUILD R
* checking for file 'R/DESCRIPTION' ... OK
* preparing 'R':
* checking DESCRIPTION meta-information ... OK
* installing the package to re-build vignettes
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at C:\DEV\toto\R\R-2.8.1/bin/INSTALL line 42.
ERROR
Installation failed.
Removing 'C:/Users/username/Documents/Rinst1210839349'

感谢您的帮助

【问题讨论】:

  • 实际上,我设法通过重新安装 R2.8.1 和适当的 Rtools 来使用 gdata 中的 read.xls,这样我就不再需要 read.xlsx 了。为此,我已经在 zip 中添加了一个旧的 gdata 和 gtools 包。

标签: r zip r-package cran r-xlsx


【解决方案1】:

我无法在 cmets 中包含结构化内容。这真是一条评论。

source 包的结构(如果你从 CRAN 档案中提取了 xlsx_0.1.3.tar.gz,那么它就是你所拥有的)自 2.8.1 以来没有(很大)变化。

您还需要从存档中获取rJava_0.8-3.tar.gzxlsxjars_0.2.0.tar.gz,因为xlsxjars + xlsx 依赖于rJava

解压每个文件(因为 Windows R 2.8.1 似乎无法识别 gz 文件)。他们应该分别创建rJavaxlsxjarsxlsx 目录。

移动到两者的父目录。

运行:

R CMD javareconf

R CMD build rJava
R CMD INSTALL rJava_0.8-3.zip  # I believe this will be the name

R CMD build xlsxjars
R CMD INSTALL xlsxjars_0.2.0.zip

R CMD build xlsx
R CMD INSTALL xlsx_0.1.3.zip

而你应该是 gtg。

【讨论】:

  • 非常感谢。实际上,我设法通过重新安装 R2.8.1 和适当的 Rtools 来使用 gdata 中的 read.xls,这样我就不再需要 read.xlsx
  • 太棒了。 FWIW 我会认真考虑建立一个带有二进制包构建的小型 CRAN 镜像服务器(构建二进制包并以“类似 CRAN”的方式在内部托管它们非常容易),因此您不必处理源安装。
  • 这确实是个好主意!相信很多人都会感谢你的!!我成功了,因为我有一个旧的 gdata zip。无论如何,非常感谢您非常有趣的回答,我相信其他人会从中受益。
猜你喜欢
  • 2021-09-11
  • 2016-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-19
  • 2019-01-13
  • 2022-10-20
相关资源
最近更新 更多