Hodnotenie a optimalizácia výkonu kódu v R

Optimalizácia R kódu môže výrazne zlepšiť výkon R skriptov a programov, vďaka čomu budú bežať efektívnejšie. Toto je obzvlášť dôležité pre veľké a zložité súbory údajov, ako aj pre aplikácie, ktoré je potrebné spúšťať v reálnom čase alebo pravidelne.

V tomto návode vyhodnotíme a optimalizujeme výkon R kódu pomocou rôznych , ako sú tidyverse a data.table. Ako príklad uvidíme, ako dlho trvá RStudio načítať veľký súbor CSV pomocou funkcie read.csv ( ) , balíka tidyverse a balíka data.table.

Obsah

Optimalizácia výkonu v R

Otvorte RStudio. V skripte R priraďte príponu súboru premennej.

Na určenie, ako dlho trvá vykonanie funkcie alebo operácie, musíte použiť funkciu system.file ( ) . Keďže chceme vyhodnotiť, ako dlho trvá otvorenie súboru, napíšte do argumentu read.csv (df) .

Hodnotenie a optimalizácia výkonu kódu v R

Keď spustíte kód, konzola vám ukáže čas potrebný na otvorenie súboru. Uplynutý stĺpec ukazuje, ako dlho trvalo CPU, kým vykonal R kód. Výsledky ukazujú, že to trvalo RStudio 31,93 sekundy, čo je značné množstvo času. Tento čas načítania je nepraktický, ak vždy pracujete s veľkými množinami údajov.

Hodnotenie a optimalizácia výkonu kódu v R

Jedným zo spôsobov, ako môžete optimalizovať výkon vášho R kódu, je použitie balíka tidyverse . Tým sa skráti čas z 30 na 5 sekúnd.

Upozorňujeme, že na prečítanie súboru musíte použiť funkciu read_csv ( ) .

Hodnotenie a optimalizácia výkonu kódu v R

Balík tidyverse zlepšuje čas načítania v R pomocou balíka čítačky , ktorý poskytuje súbor rýchlych a efektívnych funkcií na čítanie a zápis údajov. Balík Readr poskytuje funkcie ako read_csv ( ) a read_table ( ) , ktoré dokážu rýchlo a efektívne čítať veľké množiny údajov.

Ďalšou optimalizačnou metódou v R je použitie balíka data.table . Toto je zadarmo na stiahnutie na internete.

Balík data.table v jazyku R je výkonný a efektívny nástroj na prácu s veľkými a zložitými množinami údajov. Poskytuje vylepšenú verziu objektu data.frame, čo je základná dátová štruktúra v R. Hlavnou výhodou data.table je vysoký výkon a nízke využitie pamäte pri práci s veľkými množinami údajov.

Všimnite si, že pri používaní tohto balíka musíte namiesto read.csv ( ) napísať funkciu fread ( ) . Keď to spustíte spolu s kódom, môžete vidieť, že čas načítania sa skráti na 2,25 sekundy.

Hodnotenie a optimalizácia výkonu kódu v R

Porovnanie R balíkov pomocou Microbenchmarku

Ak chcete porovnať výkon medzi jednotlivými metódami, môžete použiť funkciu microbenchmark ( ) .

Funkcia microbenchmark ( ) v R je nástroj na meranie výkonnosti R kódu. Poskytuje jednoduché a ľahko použiteľné rozhranie na porovnávanie času vykonávania výrazov R.

Skvelá vec na tejto funkcii je, že môžete nastaviť, koľkokrát sa má proces opakovať. To poskytuje presnejšie výsledky. Môžete tiež zistiť, či sú výsledky konzistentné.

Hodnotenie a optimalizácia výkonu kódu v R

Ak máte problémy s čítaním súboru CSV v LuckyTemplates, RStudio to môže urobiť za vás. V R sú ďalšie možnosti, ktoré môžete použiť na optimalizáciu výkonu kódu. Ale data.table sa veľmi odporúča kvôli svojej jednoduchosti.

Záver

Optimalizácia R kódu je dôležitým krokom na zabezpečenie efektívneho fungovania vašich R skriptov. Existuje niekoľko techník a nástrojov, ktoré možno použiť na optimalizáciu R kódu, ako je použitie balíka tidyverse na manipuláciu s údajmi, použitie balíka data.table pre veľké súbory údajov a použitie balíka microbenchmark na meranie výkonu R kódu.

Je tiež dôležité mať na pamäti osvedčené postupy kódovania, ako je používanie vektorizovaných operácií namiesto slučiek, používanie vstavaných funkcií namiesto písania vlastných a pamätanie na využitie pamäte vášho kódu.

Všetko najlepšie,

George Mount


Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

Tento blog obsahuje vizualizáciu Shape Map pre priestorovú analýzu v LuckyTemplates. Ukážem vám, ako môžete efektívne využiť túto vizualizáciu s jej funkciami a prvkami.

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

V tomto návode predstavujem jedinečný nápad týkajúci sa finančného výkazníctva, ktorý spočíva v prideľovaní výsledkov na vopred určené šablóny tabuliek v rámci LuckyTemplates.

DAX měří v LuckyTemplates pomocí Measure Branching

DAX měří v LuckyTemplates pomocí Measure Branching

Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.

Najvýkonnejšie volanie funkcie v LuckyTemplates

Najvýkonnejšie volanie funkcie v LuckyTemplates

V tomto blogu preskúmajte množinu údajov LuckyTemplates, najvýkonnejšie volanie funkcií, ktoré vám prináša tisíce funkcií M a DAX na dosah ruky.

Techniky modelovania údajov na organizáciu opatrení DAX

Techniky modelovania údajov na organizáciu opatrení DAX

V dnešnom návode sa podelím o niekoľko techník modelovania údajov o tom, ako lepšie usporiadať vaše merania DAX pre efektívnejší pracovný tok.

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates je skvelý nástroj pre finančné výkazníctvo. Tu je návod, ako vytvoriť prispôsobené tabuľky pre váš finančný dashboard LuckyTemplates.

Osvedčené postupy toku jazyka Power Query

Osvedčené postupy toku jazyka Power Query

V tomto návode sa bude diskutovať o toku jazyka Power Query a o tom, ako môže pomôcť vytvoriť hladkú a efektívnu zostavu údajov.

LuckyTemplates vlastní ikony | Vizualizační technika PBI

LuckyTemplates vlastní ikony | Vizualizační technika PBI

Budu diskutovat o jedné z mých oblíbených technik kolem vlastních ikon LuckyTemplates, která používá vlastní ikony dynamickým způsobem ve vizuálech LuckyTemplates.

Vytváření tabulek LuckyTemplates pomocí funkce UNION & ROW

Vytváření tabulek LuckyTemplates pomocí funkce UNION & ROW

V tomto blogu vám ukážu, jak můžete vytvořit tabulky LuckyTemplates pomocí vzorce, který kombinuje funkci UNION a funkci ROW.