Ho pensato che specifica lo spazio dei nomi ho dato R
meno lavoro da fare, ma io sono probabilmente sbagliatoperché chiamare una funzione che specifica lo spazio dei nomi è più lento?
library(microbenchmark)
> microbenchmark(unique.default(c(1,1:10)),base::unique.default(c(1,1:10)))
Unit: microseconds
expr min lq median uq max neval
unique.default(c(1, 1:10)) 3.528 3.849 4.0095 4.170 12.509 100
base::unique.default(c(1, 1:10)) 11.546 12.188 12.5090 12.829 59.012 100
qualcuno ha bisogno di sottolineare: questi sono microsecondi! Probabilmente insignificante se il tuo codice farà qualcosa di più complesso. – flodel
@flodel nel 99,9% hai ragione. Ma ho un programma che ha molte chiamate di funzione, tutte in un grande loop. Sto per lanciare una nuova versione completamente vettoriale, grazie a data.table, ma è ancora in modalità dev, quindi nel frattempo un millisecondo salvato in ogni ciclo del ciclo è di pochi minuti in tutto il programma ... – Michele
Se hai conflitti di nome ed è per questo che hai bisogno di '::', potresti fare 'my.unique <- base :: unique.default' e usare' my.unique'. – Roland