Gibt es eine Möglichkeit, das Laden der Bibliothek in R zu beschleunigen?

8

Ich habe ein Rscript, das ggplot2 in seiner ersten Zeile lädt.

Obwohl das Laden einer Bibliothek nicht viel Zeit in Anspruch nimmt, kann dieses Skript millionenfach in der Befehlszeile ausgeführt werden, daher ist die Geschwindigkeit für mich wirklich wichtig.

Gibt es eine Möglichkeit, diesen Ladevorgang zu beschleunigen?

    
Hanfei Sun 30.05.2012, 21:34
quelle

3 Antworten

2

Als Ergänzung zu @ MikeDunlavey's Antwort :

Tatsächlich überprüfen sowohl library als auch require , ob das Paket bereits geladen ist. Hier sind einige Timings mit microbenchmark Ich bekomme:

%Vor%

Zum Vergleich, Laden zum ersten Mal: ​​

%Vor%

(das sind Sekunden!)

Am Ende, solange der Faktor 3 = 10 μs zwischen require und "package:ggplot2" %in% search() nicht benötigt wird, würde ich mit require gehen, sonst mit %in% search () .

    
cbeleites 31.05.2012, 10:27
quelle
9

Nicht neu starten - Behalte eine persistente R-Sitzung und stelle nur Anfragen an sie. Etwas wie Rserve kann dies bereitstellen, und zum Beispiel FastRWeb verwendet es sehr gut - mit millsecond Rundreisen für die Diagrammgenerierung.

    
Dirk Eddelbuettel 30.05.2012 21:40
quelle
2

Was Dirk gesagt hat, und Sie können die Funktion exists verwenden, um eine Bibliothek wie in

zu laden %Vor%

Wenn Sie das also in das Skript eingeben, können Sie das Skript mehrmals in derselben R-Sitzung ausführen.

    
Mike Dunlavey 30.05.2012 22:09
quelle

Tags und Links