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.