1

我可以从批处理文件中以非交互方式运行 R 脚本并保存输出。

我可以使用批处理文件打开交互式 R 会话。

我可以打开 R 并通过一个批处理文件运行脚本,然后另一个(但是脚本中的变量在交互式会话中不可用)。

我无法做的是使用批处理文件打开交互式 R 会话并从该交互式会话中运行脚本。我怎样才能做到这一点?

关于解决方法:

目的是使用脚本每天加载和处理一个非常大的数据集,然后在 R 中的交互式会话期间使用该脚本,因此使用非交互式会话不是此任务的选项。同样,我知道我可以使用 Windows 命令提示符运行交互式会话,但出于各种原因我不想这样做。我希望将所有内容都加载到 R shell 中以便在那里使用。我意识到任务计划程序对此很有用,但不幸的是,我没有修改任务计划程序的权限。我只被允许使用由 IT 安排的批处理文件。

如果我只是缺乏有效搜索问题答案的词汇量,我深表歉意,并欢迎将我引导至先前问题的答案。

谢谢你。

4

1 回答 1

4

一种可能性是创建一个 Rprofile.site 脚本来获取加载数据的设置文件。然后,从您的批处理脚本中,将此会话的 R_PROFILE 变量设置为指向此 Rprofile.site 脚本。

在您的批处理脚本中,

@echo off
set R_PROFILE=C:\path\to\Rprofile.site
Rterm.exe

在 Rprofile.site 中

.First <- function() {
    print("Loading some stuff")
    source("setup.R")
}

在 setup.R

dat <- data.frame(x=1:10)

我想您可以使用 setup.R 文件并将其全部放入.First函数中。

于 2015-10-16T19:48:54.173 回答