我很好奇,是否可以找到一种方法,当使用命令{{1从Microsoft R客户端向Microsoft R服务器远程提交和执行R脚本时,将所有内容从R控制台保存到文本文件}}或remoteScript()
。
例如,考虑一个简单的R脚本 remoteExecute()
,如下所示:
'test.R'
我知道,要从控制台保存所有内容,可以在Local R会话中执行它,如下所示:
set.seed(123)
x <- rnorm(100)
mean(x)
如预期的那样,日志文件 # Create a text file to save all from console
logfile <- file("C:/.../MyLog1.txt")
sink(logfile, append = TRUE)
sink(logfile, append = TRUE, type = "message")
# Execute in the local R session
source("C:/.../test.R", echo = TRUE, max.deparse.length = 1000000)
sink()
sink(type = "message")
具有控制台中的所有内容:
'MyLog1.txt'
类似地,连接到R服务器后,可以使用> set.seed(123)
> x <- rnorm(100)
> mean(x)
[1] 0.09040591
执行相同的脚本。
remoteScript()
但是日志文件 # Connect to the server and create a remote session
remoteLogin(...)
# Go back to the local R session
pause()
# Create a text file to save all from console
logfile <- file("C:/.../MyLog2.txt")
sink(logfile, append = TRUE)
sink(logfile, append = TRUE, type = "message")
# Execute in the remote R session
remoteScript("C:/.../test.R")
sink()
sink(type = "message")
看起来有所不同,如下所示:
'MyLog2.txt'
它只有“输出”和一些附加信息。带有[1] 0.09040591
$success
[1] TRUE
$errorMessage
[1] ""
$outputParameters
list()
$consoleOutput
[1] "[1] 0.09040591\r\n"
$changedFiles
list()
$backgroundUpdate
[1] 0
命令提示符的代码的每一行都没有像'>'
那样打印。可能是因为'MyLog1.txt'
没有像echo=TRUE
这样的选项。
有人可以帮助我吗?
谢谢..