[R] communicate from Rterm

stephen bond stenka1 at go.com
Fri Jan 11 16:14:38 CET 2008


I try with:

ret = Shell(exestr)

and it starts R, but the source file is not executed 

inside R

> a=commandArgs()
> a
[1] "Rterm"  "--restore" "--save"  "--args" "2005-02-03" #correct date 
passed
[6]  "<"  "m.in.R"  ">"  "out.txt"
>

it restores the correct workspace, but then it fails to source the 
script, which is located in the same dir as the workspace.

inside R 

> source("m.in.R") # does the job, so it is not a finding problem 

BTW is it possible to get the error message from R somehow???


----Original Message----
From: murdoch at stats.uwo.ca
Date: 01/11/2008 6:30 
To: "stephen bond"<stenka1 at go.com>
Cc: <r-help at r-project.org>
Subj: Re: [R] communicate from Rterm

On 1/11/2008 9:18 AM, stephen bond wrote:
> Please, help with announcing an error from Rterm:
> 
> I am calling R from an Excel VBA and noticed that if there is an 
error 
> nothing conspicuous happens. I would like just a popup window when 
R 
> cannot finish cleanly. The "ret " value returned from Shell is 
useless 
> in determining what happened.

This seems to be a VBA problem, not an R problem.  Rterm returns a 0 
return value when it exits cleanly, and a non-zero value when there's 
an 
error.  It looks as though you're losing that by wrapping the Rterm 
call 
in a batch file.  Can't VBA make the call to Rterm directly?

Duncan Murdoch

> 
> Thank you all.
> 
> *****************************
> Public Sub Repo()
> ds = InputBox("Type in reporting date as YYYY-MM-DD", "reporting 
> date")
> 
> ''-----   weird way to pass the date argument as Windows won't
> ''-----   execute the command line directly, so I create a .bat
> 
> exestr = "Rterm --restore --save --args " & ds & " < m.in.R > out.
txt"
> Set fs = CreateObject("Scripting.FileSystemObject")
> Set a = fs.CreateTextFile("rpcd.bat", True)
> a.writeline (exestr)
> a.Close
> 
> ret = Shell("rpcd.bat")
> MsgBox ("wait for about 5 seconds as the script runs 
asynchronously")
> 
> End Sub
> 
> **************m.in.R************
> ds=commandArgs(T)[1]
> 
> ans=f.repo(ds)
> 
> q("yes")
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-
guide.html
> and provide commented, minimal, self-contained, reproducible code.




More information about the R-help mailing list