使用批处理脚本 运行 在 R shell 中交互式地使用 R 脚本

use a batch script to run an R script interactively in the R shell

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

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

我可以打开 R 和 运行 来自批处理文件的脚本,方法是先执行一个,然后再执行另一个(但是脚本中的变量在交互式会话中不可用)。

我无法做的是使用批处理文件打开交互式 R 会话和 运行 来自该交互式会话的脚本。我该怎么做?

关于解决方法:

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

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

谢谢。

一种可能是创建一个 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 函数中。