[R] SPlus to R
Uwe Ligges
ligges at statistik.tu-dortmund.de
Wed Oct 5 15:03:10 CEST 2011
On 05.10.2011 13:44, Scott Raynaud wrote:
> Hope I did this right. I repeated what I'd done before:
>
> 1) Opened script
> 2) Selected run all (this produced my inital post
>
> Then as suggested I:
>
> 3) Typed ls()
> 4) Saw that the function was present and issued sshc(100,10)
>
> Here's what I got:
>
>> ls()
> [1] "c.searchd" "convex" "Epower" "nef" "nef2" "power1.f"
> [7] "ss.rand" "sshc" "vertex"
>> sshc(100,10)
> Error in return(ne = ne, Ep = Ep1) :
> multi-argument returns are not permitted
>
> So it looks like I need to change the return(ne = ne, Ep = Ep1) to two separate lines, correct?
No:
return(list(ne = ne, Ep = Ep1))
Uwe
>
> On a brighter note, I did get a power curve as expected. One thing I don't understand is the meaning of the arguments in sshc(100,10).
>
> Thanks agian for your help.
>
>
> ________________________________
> From: Barry Rowlingson<b.rowlingson at lancaster.ac.uk>
>
> Cc: "r-help at r-project.org"<r-help at r-project.org>
> Sent: Wednesday, October 5, 2011 4:02 AM
> Subject: Re: [R] SPlus to R
>
>
> te:
>> I'm trying to convert an S-Plus program to R. Since I'm a SAS programmer I'm not facile is either S-Plus or R, so I need some help. All I did was convert the underscores in S-Plus to the assignment operator<-. Here are the first few lines of the S-Plus file:
>>
>> sshc _ function(rc, nc, d, method, alpha=0.05, power=0.8,
>> tol=0.01, tol1=.0001, tol2=.005, cc=c(.1,2), l.span=.5)
>> {
>> ### for method 1
>> if (method==1) {
>> ne1 _ ss.rand(rc,nc,d,alpha=.05,power=.8,tol=.01)
>> return(ne=ne1)
>> }
>>
>>
>> My translation looks like this:
>>
>> sshc<-function(rc, nc=500, d=.5, method=3, alpha=0.05, power=0.8,
>> tol=0.01, tol1=.0001, tol2=.005, cc=c(.1,2), l.span=.5)
>> {
>> ### for method 1
>> if (method==1) {
>> ne1<-ss.rand(rc,nc,d,alpha=.05,power=.8,tol=.01)
>> return(ne=ne1)
>> }
>>
>> The program runs without throwing errors, but I'm not getting any ourput in the console. This is where it should be, right? I think I have this set up correctly. I'm using method=3 which only requires nc and d to be specified. Any ideas why I'm not seeing output?
>
> Long shot: the code you posted looked like (and hard to tell without
> indentation) just a bunch of function definitions. R won't actually do
> anything unless you call those functions with some parameters.
>
> So, when you say you get no output when you 'run' the code, what
> exactly do you mean by 'run' the code? What I would do is:
>
> 1. Put the code in a file called 'whatever.R'.
> 2. Start R, and do source("whatever.R"). That defines the functions.
> do "ls()" and you should see them.
> 3. Call one of the functions: sshc(100,10)
>
> I'd call that, in R terms, "calling the sshc function" rather than
> running anything.
>
> Barry
> [[alternative HTML version deleted]]
>
>
>
>
> ______________________________________________
> 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