2012-03-11 23 views
15

Recentemente ho visto una funzione in R in cui qualcuno aveva utilizzato . come argomento. Non riesco a trovare alcuna documentazione su questo (a parte l'uso di puntini di sospensione o "punto-punto-punto"). Qualcuno può indicarmi la direzione della documentazione o fornire un esempio di utilizzo?Utilizzo di punto/punto nelle funzioni R

hello.world <- function(.) "Hello World" 
# function(.) is what I'm asking about. 
+1

questo è venuto su croce convalidato pure, alcune altre buone leccornie laggiù: http://stats.stackexchange.com/questions/10712/questo-è-il-mesi-del-del-dot-in-r/10739 # 10739 – Chase

risposta

13

Dot è un un carattere valido in nomi dei simboli, proprio come qualsiasi lettera, così . non è diverso da diciamo a - non ha alcun significato particolare in questo contesto. È possibile scrivere le cose come:

> . <- 10 
> . + . 
[1] 20 

Può sembrare strano, ma è valido per R. È possibile che questo uso è function(.) diciamo insolito, ma sintatticamente valido. Poiché l'autore non ha fatto riferimento allo . nel corpo della funzione, non sapremo mai se intendeva lo ... o lo ha semplicemente usato perché poteva.

+0

All'inizio degli identificatori ha un significato leggermente speciale: http://cran.r-project.org/doc/manuals/R-lang.html#Identifiers – huon

+0

Non proprio. Ci sono diverse convenzioni in R che fanno uso di punti (nascondendo simboli, invio S3, ...), ma '.' come sopra chiesto non ha significato speciale. –

+0

ha un significato speciale per 'proto': [" gli elenchi di argomenti formali dei metodi devono sempre avere un primo argomento di punto (es.) Che indica l'oggetto su cui il metodo sta operando.Il punto si riferisce all'oggetto corrente nel nello stesso modo in cui un punto si riferisce alla directory corrente in UNIX "] (http://cran.r-project.org/web/packages/proto/vignettes/proto.pdf) – baptiste