Ho bisogno di calcolare la media e la varianza di un sottoinsieme di un vettore. Sia x
il vettore e sia un indicatore per stabilire se l'osservazione si trova nel sottoinsieme. Che è più efficiente:Il modo più efficace per sostituire i vettori
sub.mean <- mean(x[y])
sub.var <- var(x[y])
o
sub <- x[y]
sub.mean <- mean(sub)
sub.var <- var(sub)
sub <- NULL
Il primo approccio non crea un nuovo oggetto in modo esplicito; ma le chiamate a mean
e var
lo fanno implicitamente? O funzionano sul vettore originale come memorizzato?
Il secondo è più veloce perché non deve eseguire la sottosistema due volte?
Sono interessato alla velocità e alla gestione della memoria per i set di dati di grandi dimensioni.
Se sei preoccupato di lavorare con set di dati veramente grandi, allora dovrai allontanarti da R (o fare un sacco di campionamenti). A parte questo, perché non valutare i due approcci? –
@JackManey: Questo non è vero (o costruttivo), soprattutto perché non sai quanto siano grandi i set di dati "grandi" dell'utente. –
@JackManey, Con i pacchetti 'ff' e 'ffbase' (e altri pacchetti "big data"), la pura open source R può essere abbastanza capace di gestire dataset di grandi dimensioni con efficienza e velocità. Ci sono anche prove da parte della gente di Revolutions Analytics che R può essere esteso per fornire prestazioni migliori del SAS per il lavoro glm "big data". R non è necessariamente un collo di bottiglia, anche se i pacchetti di base * si sbricioleranno sotto grandi dataset. – Dinre