.net - 在 .net 中使用 start.process 运行 R 脚本

标签 .net r process.start

我想在 vb.net 中运行一个 r 脚本,它将数据保存在一个 .csv 文件中。到目前为止,我发现了以下方法:

dim strCmd as String
strCmd = "R CMD BATCH" + "C:\test.R"
process.start("CMD.exe", strCmd

显然这应该有效,但在我的例子中,cmd 弹出(位于我的调试文件夹中)并且没有任何反应。

我尝试的另一种方法是

process.start("Rgui.exe", "C:\test.R")

错误信息:参数“C:\test.R”被忽略

这也不行。

对于我的 r 脚本,我只是使用了一个例子

sink()
setwd("C:/")
x <- data.frame(a = I("a \" quote"), b = pi)
sink(test.csv)

最佳答案

这对我来说是这样的:

        Dim myprocess As New Process
        myprocess.StartInfo = New ProcessStartInfo("C:\Program Files (x86)\R\R-2.6.2\bin\R.exe", "CMD BATCH C:/Users/test/test3.R C:/Users/test/testout.csv")
        myprocess.Start()

第二种方法(第一个应用程序没有给我一个好的 csv 输出,所以这是一个解决方法):

    Dim proc = New Process
    proc.StartInfo.FileName = "C:\Program Files (x86)\R\R-2.6.2\bin\Rscript.exe"
    proc.StartInfo.WorkingDirectory = "C:\Program Files (x86)\R\R-2.6.2\bin"
    proc.StartInfo.Arguments = "C:/Users/Desktop/RtoVB/test4.r"
    proc.StartInfo.UseShellExecute = True
    proc.StartInfo.RedirectStandardOutput = False
    proc.Start()

关于.net - 在 .net 中使用 start.process 运行 R 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18224439/

相关文章:

c# - .NET : How to PInvoke UpdateProcThreadAttribute

.net - 异常处理应用程序 block 和异常处理之间有什么区别

r - 在 R 中将向量穷举成对的方法

removeWords 不起作用

r - dplyr group_by 列名向量?

c# - Process.Start() 不会在同一用户下生成新进程

.net - 如何在客户端计算机上安装 Microsoft.VisualStudio.Shell.dll

.net - idleTimeout 和 ShutdownTimeout 之间的区别

c# - 当外部程序使用 Process.Start() 启动我的代码时进行调试

c# - 如何从 C# 执行 DOS SET 命令并使变量在 exe 关闭后保持不变?