Evaluering og optimalisering av kodeytelse i R

Optimalisering av R-kode kan forbedre ytelsen til R-skript og programmer betydelig, slik at de kjøres mer effektivt. Dette er spesielt viktig for store og komplekse datasett, så vel som for applikasjoner som må kjøres i sanntid eller regelmessig.

I denne opplæringen vil vi evaluere og optimalisere ytelsen til en R-kode ved å bruke forskjellige , for eksempel tidyverse og data.table. Som et eksempel skal vi se hvor lang tid det tar for RStudio å lese en stor CSV-fil ved å bruke read.csv ( ) -funksjonen, tidyverse-pakken og data.table-pakken.

Innholdsfortegnelse

Optimalisering av ytelsen i R

Åpne RStudio. Tilordne filtypen til en variabel i R-skriptet.

Du må bruke funksjonen system.file ( ) for å finne ut hvor lang tid det tar å utføre en funksjon eller operasjon. Siden vi ønsker å evaluere hvor lang tid det tar å åpne en fil, skriv read.csv (df) i argumentet.

Evaluering og optimalisering av kodeytelse i R

Når du kjører koden, vil konsollen vise deg tiden det tok å åpne filen. Den forløpte kolonnen viser hvor lang tid det tok for CPUen å utføre R-koden. Resultatene viser at det tok RStudio 31,93 sekunder som er en betydelig mengde tid. Denne innlastingstiden er upraktisk hvis du alltid jobber med store datasett.

Evaluering og optimalisering av kodeytelse i R

En av måtene du kan optimere ytelsen til R-koden på er å bruke tidyverse -pakken. Dette reduserer tiden fra 30 til 5 sekunder.

Vær oppmerksom på at for å lese filen, må du bruke funksjonen read_csv ( ) .

Evaluering og optimalisering av kodeytelse i R

Tidyverse-pakken forbedrer lastetiden i R gjennom bruk av readr -pakken, som gir et sett med raske og effektive funksjoner for lesing og skriving av data. Readr-pakken gir funksjoner som read_csv ( ) og read_table ( ) som kan lese store datasett raskt og effektivt.

En annen optimaliseringsmetode i R er å bruke data.table -pakken. Dette er gratis å laste ned på internett.

Data.table-pakken i R er et kraftig og effektivt verktøy for å jobbe med store og komplekse datasett. Det gir en forbedret versjon av data.frame-objektet, som er en kjernedatastruktur i R. Hovedfordelen med data.table er dens høye ytelse og lave minnebruk når du arbeider med store datasett.

Merk at når du bruker denne pakken, må du skrive fread ( ) -funksjonen i stedet for read.csv ( ). Når du kjører dette sammen med koden din, kan du se at lastetiden er redusert til 2,25 sekunder.

Evaluering og optimalisering av kodeytelse i R

Sammenligning av R-pakker ved hjelp av Microbenchmark

For å sammenligne ytelsen mellom hver metode kan du bruke funksjonen mikrobenchmark ( ) .

Mikrobenchmark-funksjonen ( ) i R er et verktøy for å måle ytelsen til R-kode. Det gir et enkelt og brukervennlig grensesnitt for benchmarking av utførelsestiden til R-uttrykk.

En flott ting med denne funksjonen er at du kan angi hvor mange ganger prosessen skal gjentas. Dette gir mer presise resultater. Du kan også identifisere om resultatene er konsistente.

Evaluering og optimalisering av kodeytelse i R

Hvis du har problemer med å lese en CSV-fil i LuckyTemplates, kan RStudio gjøre det for deg. Det er andre alternativer i R som du kan bruke for å optimalisere kodens ytelse. Men data.table anbefales sterkt på grunn av sin enkelhet.

Konklusjon

Optimalisering av R-kode er et viktig skritt for å sikre at R-skriptene kjører effektivt. Det er flere teknikker og verktøy som kan brukes for å optimalisere R-kode, for eksempel å bruke tidyverse-pakken for datamanipulering, bruke data.table-pakken for store datasett og bruke mikrobenchmark-pakken for å måle ytelsen til R-koden.

Det er også viktig å huske på god kodingspraksis som å bruke vektoriserte operasjoner i stedet for løkker, bruke innebygde funksjoner i stedet for å skrive din egen, og være oppmerksom på minnebruken til koden din.

Beste ønsker,

George Mount


Pipe In R: Koblingsfunksjoner med Dplyr

Pipe In R: Koblingsfunksjoner med Dplyr

I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

Python i LuckyTemplates: Hvordan installere og sette opp

Python i LuckyTemplates: Hvordan installere og sette opp

Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.

Sortering av datotabellkolonner i LuckyTemplates

Sortering av datotabellkolonner i LuckyTemplates

Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.