[R] communicate from Rterm
Duncan Murdoch
murdoch at stats.uwo.ca
Fri Jan 11 17:32:22 CET 2008
On 1/11/2008 10:14 AM, stephen bond wrote:
> I try with:
>
> ret = Shell(exestr)
>
> and it starts R, but the source file is not executed
That's a VBA issue. VBA isn't handling the input redirection "< m.in.R
> out.txt". I don't know how to set that up: you'll need to contact
Microsoft tech support.
Duncan Murdoch
>
> 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.
>
> ______________________________________________
> 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