Valutazione e ottimizzazione delle prestazioni del codice in R

Valutazione e ottimizzazione delle prestazioni del codice in R

L'ottimizzazione del codice R può migliorare significativamente le prestazioni degli script e dei programmi R, rendendoli più efficienti. Ciò è particolarmente importante per set di dati grandi e complessi, nonché per applicazioni che devono essere eseguite in tempo reale o su base regolare.

In questo tutorial , valuteremo e ottimizzeremo le prestazioni di un codice R utilizzando diversi pacchetti R , come tidyverse e data.table. Ad esempio, vedremo quanto tempo impiega RStudio per leggere un file CSV di grandi dimensioni utilizzando la funzione read.csv ( ) , il pacchetto tidyverse e il pacchetto data.table.

Sommario

Ottimizzazione delle prestazioni in R

Apri RStudio. Nello script R, assegna l'estensione del file a una variabile.

È necessario utilizzare la funzione system.file ( ) per determinare il tempo necessario per eseguire una funzione o un'operazione. Poiché vogliamo valutare quanto tempo ci vuole per aprire un file, scrivi read.csv (df) nell'argomento.

Valutazione e ottimizzazione delle prestazioni del codice in R

Quando esegui il codice, la console ti mostrerà il tempo impiegato per aprire il file. La colonna trascorso mostra il tempo impiegato dalla CPU per eseguire il codice R. I risultati mostrano che RStudio ha impiegato 31,93 secondi, una quantità di tempo significativa. Questo tempo di caricamento non è pratico se lavori sempre con set di dati di grandi dimensioni.

Valutazione e ottimizzazione delle prestazioni del codice in R

Uno dei modi in cui puoi ottimizzare le prestazioni del tuo codice R è utilizzare il pacchetto tidyverse . In questo modo si riduce il tempo da 30 a 5 secondi.

Si noti che per leggere il file è necessario utilizzare la funzione read_csv() .

Valutazione e ottimizzazione delle prestazioni del codice in R

Il pacchetto tidyverse migliora il tempo di caricamento in R attraverso l'uso del pacchetto readr , che fornisce una serie di funzioni veloci ed efficienti per la lettura e la scrittura dei dati. Il pacchetto readr fornisce funzioni come read_csv ( ) e read_table ( ) che possono leggere set di dati di grandi dimensioni in modo rapido ed efficiente.

Un altro metodo di ottimizzazione in R utilizza il pacchetto data.table . Questo è scaricabile gratuitamente da Internet.

Il pacchetto data.table in R è uno strumento potente ed efficiente per lavorare con set di dati grandi e complessi. Fornisce una versione migliorata dell'oggetto data.frame, che è una struttura di dati di base in R. Il vantaggio principale di data.table sono le prestazioni elevate e il basso utilizzo della memoria quando si lavora con set di dati di grandi dimensioni.

Nota che quando usi questo pacchetto, devi scrivere la funzione fread ( ) invece di read.csv ( ). Quando lo esegui insieme al tuo codice, puoi vedere che il tempo di caricamento è ridotto a 2,25 secondi.

Valutazione e ottimizzazione delle prestazioni del codice in R

Confronto dei pacchetti R utilizzando Microbenchmark

Per confrontare le prestazioni tra ciascun metodo, è possibile utilizzare la funzione microbenchmark ( ) .

La funzione microbenchmark ( ) in R è uno strumento per misurare le prestazioni del codice R. Fornisce un'interfaccia semplice e facile da usare per il benchmarking del tempo di esecuzione delle espressioni R.

Una cosa grandiosa di questa funzione è che puoi impostare quante volte il processo viene ripetuto. Questo dà risultati più precisi. Sei anche in grado di identificare se i risultati sono coerenti.

Valutazione e ottimizzazione delle prestazioni del codice in R

Se hai problemi a leggere un file CSV in LuckyTemplates, RStudio può farlo per te. Ci sono altre opzioni in R che puoi usare per ottimizzare le prestazioni del tuo codice. Ma data.table è altamente raccomandato per la sua semplicità.

Conclusione

L'ottimizzazione del codice R è un passaggio importante per garantire che gli script R vengano eseguiti in modo efficiente. Esistono diverse tecniche e strumenti che possono essere usati per ottimizzare il codice R, ad esempio l'uso del pacchetto tidyverse per la manipolazione dei dati, l'uso del pacchetto data.table per set di dati di grandi dimensioni e l'uso del pacchetto microbenchmark per misurare le prestazioni del codice R.

È anche importante tenere a mente buone pratiche di codifica come l'utilizzo di operazioni vettorializzate invece di loop, l'uso di funzioni integrate invece di scriverne di proprie e l'attenzione all'utilizzo della memoria del codice.

Ti auguro il meglio,

Giorgio Monte


Cosè il sé in Python: esempi del mondo reale

Cosè il sé in Python: esempi del mondo reale

Cos'è il sé in Python: esempi del mondo reale

Come salvare e caricare un file RDS in R

Come salvare e caricare un file RDS in R

Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.

Mostra approfondimenti utilizzando la tecnica di visualizzazione dinamica multi-thread in LuckyTemplates

Mostra approfondimenti utilizzando la tecnica di visualizzazione dinamica multi-thread in LuckyTemplates

Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.

Introduzione al filtraggio del contesto in LuckyTemplates

Introduzione al filtraggio del contesto in LuckyTemplates

In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.

I migliori suggerimenti per lutilizzo delle app nel servizio online LuckyTemplates

I migliori suggerimenti per lutilizzo delle app nel servizio online LuckyTemplates

Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.

Analizza le variazioni del margine di profitto nel tempo: analisi con LuckyTemplates e DAX

Analizza le variazioni del margine di profitto nel tempo: analisi con LuckyTemplates e DAX

Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.

Idee di materializzazione per cache di dati in DAX Studio

Idee di materializzazione per cache di dati in DAX Studio

Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.

Reporting aziendale tramite LuckyTemplates

Reporting aziendale tramite LuckyTemplates

Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.

Che cosè il gateway LuckyTemplates? Tutto quello che devi sapere

Che cosè il gateway LuckyTemplates? Tutto quello che devi sapere

Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere