Evaluering og optimering af kodeydeevne i R

Optimering af R-kode kan forbedre ydeevnen af ​​R-scripts og programmer betydeligt, hvilket får dem til at køre mere effektivt. Dette er især vigtigt for store og komplekse datasæt, såvel som for applikationer, der skal køres i realtid eller regelmæssigt.

I denne øvelse vil vi evaluere og optimere en R-kodes ydeevne ved hjælp af forskellige , såsom tidyverse og data.table. Som et eksempel vil vi se, hvor lang tid det tager for RStudio at læse en stor CSV-fil ved hjælp af funktionen read.csv ( ) , tidyverse-pakken og data.table-pakken.

Indholdsfortegnelse

Optimering af ydeevne i R

Åbn RStudio. Tildel filtypenavnet til en variabel i R-scriptet.

Du skal bruge funktionen system.file ( ) til at bestemme, hvor lang tid det tager at udføre en funktion eller handling. Da vi ønsker at evaluere, hvor lang tid det tager at åbne en fil, skriv read.csv (df) i argumentet.

Evaluering og optimering af kodeydeevne i R

Når du kører koden, vil konsollen vise dig den tid, det tog at åbne filen. Den forløbne kolonne viser, hvor lang tid det tog for CPU'en at udføre R-koden. Resultaterne viser, at det tog RStudio 31,93 sekunder, hvilket er en betydelig mængde tid. Denne indlæsningstid er upraktisk, hvis du altid arbejder med store datasæt.

Evaluering og optimering af kodeydeevne i R

En af måderne, hvorpå du kan optimere ydeevnen af ​​din R-kode, er ved at bruge tidyverse -pakken. Hvis du gør det, reduceres tiden fra 30 til 5 sekunder.

Bemærk, at for at læse filen skal du bruge funktionen read_csv ( ) .

Evaluering og optimering af kodeydeevne i R

Tidyverse-pakken forbedrer indlæsningstiden i R gennem brugen af ​​readr -pakken, som giver et sæt hurtige og effektive funktioner til at læse og skrive data. Readr-pakken indeholder funktioner som read_csv ( ) og read_table ( ) , der kan læse store datasæt hurtigt og effektivt.

En anden optimeringsmetode i R er at bruge data.table- pakken. Dette er gratis at downloade på internettet.

Data.table-pakken i R er et kraftfuldt og effektivt værktøj til at arbejde med store og komplekse datasæt. Det giver en forbedret version af data.frame-objektet, som er en kernedatastruktur i R. Den største fordel ved data.table er dens høje ydeevne og lave hukommelsesforbrug, når du arbejder med store datasæt.

Bemærk, at når du bruger denne pakke, skal du skrive funktionen fread ( ) i stedet for read.csv ( ). Når du kører dette sammen med din kode, kan du se, at indlæsningstiden er reduceret til 2,25 sekunder.

Evaluering og optimering af kodeydeevne i R

Sammenligning af R-pakker ved hjælp af Microbenchmark

For at sammenligne ydeevnen mellem hver metode kan du bruge funktionen mikrobenchmark ( ) .

Mikrobenchmark-funktionen ( ) i R er et værktøj til at måle ydeevnen af ​​R-kode. Det giver en enkel og brugervenlig grænseflade til benchmarking af udførelsestiden for R-udtryk.

En stor ting ved denne funktion er, at du kan indstille, hvor mange gange processen skal gentages. Dette giver mere præcise resultater. Du er også i stand til at identificere, om resultaterne er konsistente.

Evaluering og optimering af kodeydeevne i R

Hvis du har problemer med at læse en CSV-fil i LuckyTemplates, kan RStudio gøre det for dig. Der er andre muligheder i R, som du kan bruge til at optimere din kodes ydeevne. Men data.table kan varmt anbefales på grund af dets enkelhed.

Konklusion

Optimering af R-kode er et vigtigt skridt for at sikre, at dine R-scripts kører effektivt. Der er flere teknikker og værktøjer, der kan bruges til at optimere R-kode, såsom at bruge tidyverse-pakken til datamanipulation, bruge data.table-pakken til store datasæt og bruge mikrobenchmark-pakken til at måle ydeevnen af ​​R-kode.

Det er også vigtigt at huske på god kodningspraksis, såsom at bruge vektoriserede operationer i stedet for loops, bruge indbyggede funktioner i stedet for at skrive dine egne og være opmærksom på hukommelsesbrugen af ​​din kode.

Alt det bedste,

George Mount


Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Lær, hvordan du adskiller en PBIX-fil for at udtrække LuckyTemplates-temaer og -billeder fra baggrunden og bruge den til at oprette din rapport!

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

Python i LuckyTemplates: Sådan installeres og konfigureres

Python i LuckyTemplates: Sådan installeres og konfigureres

Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Lær, hvordan du beregner dynamiske fortjenstmargener ved siden af ​​LuckyTemplates, og hvordan du kan få mere indsigt ved at grave dybere ned i resultaterne.

Sortering af datotabelkolonner i LuckyTemplates

Sortering af datotabelkolonner i LuckyTemplates

Lær, hvordan du sorterer felterne fra kolonner med udvidet datotabel korrekt. Dette er en god strategi at gøre for vanskelige felter.

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

I denne artikel gennemgår jeg, hvordan du kan finde dine topprodukter pr. region ved hjælp af DAX-beregninger i LuckyTemplates, herunder funktionerne TOPN og CALCUATE.

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Lær, hvordan du bruger en uønsket dimension til flag med lav kardinalitet, som du ønsker at inkorporere i din datamodel på en effektiv måde.