gpt4 book ai didi

Rscript 无法识别 setGeneric 函数

转载 作者:行者123 更新时间:2023-12-02 00:07:23 25 4
gpt4 key购买 nike

我正在尝试将 R 脚本转换为客户端可以在批处理模式下运行的脚本。我的代码使用通用函数,靠近开头的一个片段如下:

setGeneric("testInput", function(inputData, params = list())
standardGeneric("testInput"))

我一直在使用 R CMD BATCH,它运行良好。但是我找不到让我的脚本在控制台上打印输出的简单方法,所以基于此(以及 Rscript.exe 是运行 R 批处理文件的“正确”方式的建议)我决定切换到 脚本。但是,当使用 Rscript 运行完全相同的 .R 文件时,我得到以下信息:

Error: could not find function "setGeneric"
Execution halted

我知道这背后可能有一个微不足道的原因,但我就是想不通。有人可以指出错误所在吗?
有什么建议吗?

最佳答案

setGenericmethods 包的一部分,它通常在您在交互式 session 中启动 R 时加载,而不是在使用 Rscript 的非交互式 session 中加载> 或 littler

因此您需要在脚本中调用 setGeneric 之前添加一个 require(methods)

例如,这段代码将不起作用

Rscript -e "setGeneric('mean', function(x) standardGeneric('mean'))"
Error: could not find function "setGeneric"
Execution halted

但是这个可以用

Rscript -e "require(methods);setGeneric('mean', function(x) standardGeneric('mean'))"
Loading required package: methods
[1] "mean"

关于Rscript 无法识别 setGeneric 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17423869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com