[R] basic information defining functions

Greg Snow Greg.Snow at imail.org
Tue Nov 25 17:13:37 CET 2008

I think your problem is more with indexing than with function writing.  The main confusion is in how to use '$', this is a shortcut to make certain things easier, but you are trying to use the shortcut like going from France to Germany by way of New York City because you know a great shortcut through NYC.

>From the help page for $ (> ?'$'):

"Both '[[' and '$' select a single element of the list.  The main
     difference is that '$' does not allow computed indices, whereas
     '[[' does."

You are trying to use a computed index, look at the line above (especially the 'not') and see if there is something else there suggests what you should be using.

This seems to be a common misunderstanding lately, could you tell us a bit about which documentation and examples you read that lead you to think about using '$' with computed indices and did not help you understand the need for '[[' instead so that maybe the documentation can be improved to help future readers?

Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org

> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Bunny, lautloscrew.com
> Sent: Tuesday, November 25, 2008 3:18 AM
> To: r-help at r-project.org
> Subject: [R] basic information defining functions
> Hi all,
> i am looking from some insights to define own R functions. so far i
> found most basics in documentations that are around on the web. except
> for one thing:
> I´d like to define some function, say:
> #assume my data matrix contains vectors like data$myColumn1,data
> $myColumn2 etc.
> getMyColumn <- function (columnid){
> x<-data$MyColumn?columnid?[data$indexone=1 & data$index2=5]
> return(x)
> }
> Do I need to use assign or eval first ? I tried to use paste to
> combine something like: paste("data$MyColumn",columnid,sep="") which
> did not work.
> I am happy to get any help with the problem, but also thankful for
> some useful link or guide on how to define own functions properly,
> especially the dynamic naming and return part
> thx in advance
> bunny
> ______________________________________________
> 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