[R] basic information defining functions

Bunny, lautloscrew.com bunny at lautloscrew.com
Tue Nov 25 18:52:40 CET 2008


Thank very much ! Indexing is exactly the problem. I think it´s not  
because somebody wrote a bad doc, it´s rather because being an amateur  
PHP etc scripter i did not realize the power of this indexing yet.  
Sometime ago i surely would have used a lot more loops instead of  
proper indexing.

  Basically i guess this is due to the fact that i was reluctant to  
search for ?$. I did simply not consider that this was possible. It´s  
always difficult to google respectively search for for operators in  
general.
I believe most documentations i read were some minor documentations  
made by universities for some basic statistics.
Some popular document i really like is Farnsworth Econometrics in R,  
but searching for shortcut it does not offer the result i needed.  
Indeed, if i had looked for [[ i would have found something ...

Imho, the indexing is something very special in R, perhaps it would  
help newbies if documentations point it out more precisely in its  
table of content, using some terminology that might help to find
the part about indexing. e.g. : indexing operators, shortcuts vs.  
indexing , or dynamic or computed indexing as you said.

hth
Am 25.11.2008 um 17:13 schrieb Greg Snow:

> 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
> 801.408.8111
>
>
>> -----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