【问题标题】:Compile R package "arulesSequence" for older release为旧版本编译 R 包“arulesSequence”
【发布时间】:2018-03-06 19:06:58
【问题描述】:

我想使用arulessequences 进行序列挖掘。我必须在 Oracle R 发行版 R 3.3.0(最后发布)中使用它,问题是 arulesSequences 包的最后一个版本是 R >= 3.3.2。所以我得到了这个问题的错误:

错误:这是 R 3.3.0,包 arulesSequences 需要 >=3.3.2

所以我决定为旧版本编译源代码。我下载了一个需要 R 3.2.5 或更高版本的旧包。而且我知道这个包依赖于规则。所以我已经安装了它。我使用以下说明来编译 arulesequences 包: 在源目录中我运行这个命令:

R CMD build arulesSequences 该命令的输出是:

c:\rr\arulesSequences_0.2-17>R CMD 构建 arulesSequences
* 检查文件“arulesSequences/DESCRIPTION”...确定
* 准备“arulesSequences”:
* 检查DESCRIPTION元信息...好的
* cleanup_pkg(pkgdir, Log) 中的清理 src 警告:无法在“src”中运行“make clean”
* 检查源代码中的 LF 行尾并生成文件
* 检查空目录或不需要的目录
* 查看是否应添加“数据/数据列表”文件
* 构建 'arulesSequences_0.2-17.tar.gz'

创建了一个名为“arulesSequences_0.2-17.tar.gz”的文件,但是当我如下检查时,我得到以下输出:

c:\rr\arulesSequences_0.2-17\arulesSequences>R CMD 检查 arulesSequences
* 使用日志目录'c:/rr/arulesSequences_0.2-17/arulesSequences/arulesSequences.Rcheck'

  • 使用 R 版本 3.4.0 (2017-04-21)
  • 使用平台:x86_64-w64-mingw32(64位)
  • 使用会话字符集:ISO8859-1
  • 正在检查文件“arulesSequences/DESCRIPTION”...确定
  • 这是包'arulesSequences'版本'0.2-17'
  • 检查包命名空间信息...确定
  • 检查包依赖关系...错误包需要但不可用:'arules'

请参阅“编写 R 扩展”中的“描述文件”部分
手册。
* 完成状态:1 个错误

我知道 arules 包已经安装并且我检查了它。似乎构建过程不成功。你有什么想法可以帮助解决这个问题吗?

【问题讨论】:

  • "我知道这个包依赖于 arules。" .那是什么包?
  • arulesSequences 依赖于 arules,我在安装 arulesSequences 之前已经安装了 arules。
  • 我想我必须自己重写这个包!!
  • 我不太明白你为什么要这样做,我会发布一个我测试过的答案。

标签: r oracle arules


【解决方案1】:

您必须首先安装 R 的附加构建工具下的 R 的 c/c++ 编译器(称为 gcc)。 为此,在 RStudio 中转到 File->New File ->c++ File。 它将显示以下对话框: 然后点击是。 要在 windows 下编译包,您必须将 repo 设置为 Null 并键入 source。 你可以使用这个命令来做到这一点:

install.packages("SOURCEADDRESS",type="source",repo=null)

正如上面提到的@EugèneAdell,您必须先安装 arules。然后是 arulesequences。

【讨论】:

  • 我已经安装了你提到的 RBuildTools,现在一切正常。谢谢你:)
【解决方案2】:

不要构建,而是获取似乎适合您的 R 版本的存档包并安装它们。在我的 Linux 上,这给出了:

wget http://cran.univ-paris1.fr/src/contrib/Archive/arules/arules_1.5-0.tar.gz
R CMD INSTALL $HOME/arules_1.5-0.tar.gz
* installing to library ‘/home/ruser/R-3.2.5/lib64/R/library’
* installing *source* package ‘arules’ ...
...
** testing if installed package can be loaded
* DONE (arules)

wget http://cran.univ-paris1.fr/src/contrib/Archive/arulesSequences/arulesSequences_0.2-17.tar.gz
R CMD INSTALL $HOME/arulesSequences_0.2-17.tar.gz
* installing to library ‘/home/ruser/R-3.2.5/lib64/R/library’
* installing *source* package ‘arulesSequences’ ...
...
** testing if installed package can be loaded
* DONE (arulesSequences)

R
> library(arulesSequences)
Loading required package: arules
Loading required package: Matrix

Attaching package: ‘arules’

也许 arules 的更新版本是可能的,我刚刚从 1.5 系列中取了第一个。

【讨论】:

  • 感谢您的回复,我在 Windows 中工作,我刚刚尝试安装,但失败并出现以下错误:警告:运行命令 'make -f "Makevars" -f "C:/R /oracle/R-3.3.0/etc/x64/Makeconf" -f "C:/R/oracle/R-3.3.0/share/make/winshlib.mk" SHLIB="arules.dll" WIN=64 TCLBIN =64 OBJECTS="arrayIndex.o bitmat.o istree.o matrix.o ptree.o rapriori.o reclat.osimilarity.o symtab.o tfscan.o tid_count.o tract.o vecops.o warm.o"' 有状态 127 错误:包 'arules' 的编译失败 * 删除 'C:/R/oracle/R-3.3.0/library/arules'
  • 如果你编译安装一个普通的包,它可以工作吗?
  • 不,我测试了另一个包,名为 GLUE,但同样的错误!,可能它的原因是我使用的是 Oracle R 发行版,因为我想将 R 与 Oracle 数据库集成,怎么办你觉得呢?
  • R的标准版也有同样的问题,不知道是什么问题,你有没有在Windows平台上测试过你的解决方案?
  • 我无法在工作中测试,但稍后可能会(重现您的问题需要很长时间)。您是否仔细阅读了文档:cran.r-project.org/doc/manuals/r-release/…?如果是权限问题,事件查看器日志中是否有任何内容?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-20
  • 2013-06-09
  • 2014-12-23
  • 1970-01-01
  • 2013-08-27
  • 2017-02-17
相关资源
最近更新 更多