0

我必须在没有 Internet 连接且仅安装旧版本 R (R 2.10.1) 的虚拟机上运行 R 代码。我想安装软件包 LiblineaR,它最初是为比 2.10.1 更新的 R 版本创建的。出于这个原因,我不能通过将 tar.gz 文件安全地复制到虚拟机来安装它,因为 tar.gz 文件仅适用于较新版本的 R。

当我只是尝试复制“LiblineaR”函数的代码时,它也不起作用,因为当我调用该函数时,它给了我消息:

Error in .C("trainLinear", as.double(W), as.double(if (sparse) data@ra else t(data)),  : 
C symbol name "trainLinear" not in load table

有谁知道我可以如何解决这个问题(或错误消息的含义?)

让我知道我是否可以提供任何额外的信息。

4

3 回答 3

1

我要借用Raymond Chen 的专利Psychic Debugging Powers,说不可能;您要安装的包依赖于 R 2.10.1 中不存在但在 R 2.15.2 中存在的内置 R 函数(因此要求)。

线

C symbol name "trainLinear" not in load table

强烈建议对本机 C 函数的依赖。

于 2013-08-06T06:54:53.407 回答
1

这实际上是一个非常简单的修复,我将函数定义与最后的行一起复制<environment: namespace:data.table>。一旦我没有复制那行,它就起作用了。我很抱歉制造了一场无所事事的骚动。

于 2013-08-06T15:42:05.187 回答
0

您可以在包的 src 文件夹中找到“trainLinear”功能。获取提供的 C/C++ 代码应该不是问题,但是您将面临的下一个问题是该包也依赖于其他包(例如,请参阅包库中的 R 代码(“SparseM”))和整个事情重新开始。

如果你解决了所有这些问题,它仍然像 Eric 所说的那样,你可能会遇到两个 R 版本的内置功能问题。

我认为解决互联网问题更容易:)

高温高压

于 2013-08-06T07:12:13.287 回答