Utvärdera och optimera kodprestanda i R

Att optimera R-kod kan avsevärt förbättra prestandan för R-skript och program, vilket gör att de körs mer effektivt. Detta är särskilt viktigt för stora och komplexa datamängder, såväl som för applikationer som måste köras i realtid eller regelbundet.

I den här handledningen kommer vi att utvärdera och optimera en R-kods prestanda med hjälp av olika , som tidyverse och data.table. Som ett exempel ser vi hur lång tid det tar för RStudio att läsa en stor CSV-fil med funktionen read.csv ( ) , tidyverse-paketet och data.table-paketet.

Innehållsförteckning

Optimera prestanda i R

Öppna RStudio. Tilldela filtillägget till en variabel i R-skriptet.

Du måste använda funktionen system.file ( ) för att avgöra hur lång tid det tar att utföra en funktion eller operation. Eftersom vi vill utvärdera hur lång tid det tar att öppna en fil, skriv read.csv (df) i argumentet.

Utvärdera och optimera kodprestanda i R

När du kör koden kommer konsolen att visa dig hur lång tid det tog att öppna filen. Den förflutna kolumnen visar hur lång tid det tog för CPU:n att utföra R-koden. Resultaten visar att det tog RStudio 31,93 sekunder vilket är en betydande tid. Denna laddningstid är opraktisk om du alltid arbetar med stora datamängder.

Utvärdera och optimera kodprestanda i R

Ett av sätten du kan optimera prestandan för din R-kod är genom att använda tidyverse -paketet. Om du gör det minskar tiden från 30 till 5 sekunder.

Observera att för att läsa filen måste du använda funktionen read_csv ( ) .

Utvärdera och optimera kodprestanda i R

Tidyverse-paketet förbättrar laddningstiden i R genom användningen av readr -paketet, som ger en uppsättning snabba och effektiva funktioner för att läsa och skriva data. Readr-paketet tillhandahåller funktioner som read_csv ( ) och read_table ( ) som kan läsa stora datamängder snabbt och effektivt.

En annan optimeringsmetod i R använder paketet data.table . Detta är gratis att ladda ner på internet.

Data.table-paketet i R är ett kraftfullt och effektivt verktyg för att arbeta med stora och komplexa datamängder. Det tillhandahåller en förbättrad version av data.frame-objektet, som är en kärndatastruktur i R. Den största fördelen med data.table är dess höga prestanda och låga minnesanvändning när du arbetar med stora datamängder.

Observera att när du använder det här paketet måste du skriva funktionen fread ( ) istället för read.csv ( ). När du kör detta tillsammans med din kod kan du se att laddningstiden minskar till 2,25 sekunder.

Utvärdera och optimera kodprestanda i R

Jämföra R-paket med hjälp av Microbenchmark

För att jämföra prestandan mellan varje metod kan du använda funktionen mikrobenchmark ( ) .

Funktionen mikrobenchmark ( ) i R är ett verktyg för att mäta prestanda för R-kod. Det ger ett enkelt och lättanvänt gränssnitt för benchmarking av exekveringstiden för R-uttryck.

En bra sak med den här funktionen är att du kan ställa in hur många gånger processen ska upprepas. Detta ger mer exakta resultat. Du kan också identifiera om resultaten är konsekventa.

Utvärdera och optimera kodprestanda i R

Om du har problem med att läsa en CSV-fil i LuckyTemplates kan RStudio göra det åt dig. Det finns andra alternativ i R som du kan använda för att optimera din kods prestanda. Men data.table rekommenderas starkt på grund av dess enkelhet.

Slutsats

Att optimera R-kod är ett viktigt steg för att säkerställa att dina R-skript körs effektivt. Det finns flera tekniker och verktyg som kan användas för att optimera R-koden, som att använda tidyverse-paketet för datamanipulation, använda data.table-paketet för stora datamängder och använda mikrobenchmark-paketet för att mäta prestanda hos R-koden.

Det är också viktigt att tänka på goda kodningsrutiner som att använda vektoriserade operationer istället för loopar, använda inbyggda funktioner istället för att skriva din egen och vara uppmärksam på minnesanvändningen av din kod.

Med vänliga hälsningar,

George Mount


Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.