Hi R helpers!

I have a question. I'm trying to create a function for an exercise. Here are
the arguments I should include:

x and y are numeric
z is a name ("plus","minus","multiply","divide")
and swap is logical.

Here is what the function should do:

When z="plus", then x+y is performed and so on for the other z names. It
should give a NA when the z argument doesn't correspond to something mention
before.
When swap =TRUE, then y must be on the left side of the equation (y/x
instead of x/y).

So far, I managed to get something worked for the first part of the body
function (typing "plus" performes indeed an addition...) but I couldn't get
how to make the second part working. Any suggestion?

Here is the code I have so far:

myFunc<- function(x,y,z,swap)
                { res= NULL
                  if(z =="plus") res=x+y
                   else if(z=="minus") res=x-y
                   else if(z== "multiply") res=x*y
                   else if(z=="divide") res=x/y
                   else res<-NA
                  
                  return(res)}

Then, I tried to include some lines to take this "swap" function into
account by "splitting" somehow my function in 2:

myFunc<- function(x,y,z,swap)
                { res1= NULL
                  res2=NULL

                  if(z =="plus") res1=x+y
                   else if(z=="minus") res1=x-y
                   else if(z== "multiply") res1=x*y
                   else if(z=="divide") res1=x/y
                   else res1<-NA

                  if(z =="plus") res2=y+x
                   else if(z=="minus") res2=y-x
                   else if(z== "multiply") res2=y*x
                   else if(z=="divide") res2=y/x
                   else res2<-NA

                  if (swap<-T) return(res2)
                  else return(res1)
               }
Any suggestions would be more than appreciated! I already thank you!

And happy new year! (that may be redundant to most of you I know ^^)

Thomas

--
View this message in context: 
http://r.789695.n4.nabble.com/function-in-R-for-my-exercise-tp4261710p4261710.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@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.

Reply via email to