A kódteljesítmény értékelése és optimalizálása az R-ben

Az R kód optimalizálása jelentősen javíthatja az R szkriptek és programok teljesítményét, ezáltal hatékonyabban futhatnak. Ez különösen fontos nagy és összetett adatkészletek esetén, valamint olyan alkalmazásoknál, amelyeket valós időben vagy rendszeresen kell futtatni.

Ebben az oktatóanyagban egy R-kód teljesítményét értékeljük és optimalizáljuk különböző , például tidyverse és data.table használatával. Példaként meglátjuk, mennyi ideig tart az RStudio egy nagy CSV-fájl beolvasásához a read.csv ( ) függvény, a tidyverse és a data.table csomag használatával.

Tartalomjegyzék

A teljesítmény optimalizálása az R-ben

Nyissa meg az RStudiót. Az R szkriptben rendelje hozzá a fájl kiterjesztését egy változóhoz.

A system.file ( ) függvényt kell használnia annak meghatározásához, hogy mennyi ideig tart egy funkció vagy művelet végrehajtása. Mivel azt szeretnénk kiértékelni, hogy mennyi ideig tart egy fájl megnyitása, írja be az argumentumba a read.csv (df) fájlt.

A kódteljesítmény értékelése és optimalizálása az R-ben

A kód futtatásakor a konzol megmutatja, mennyi időbe telt a fájl megnyitása. Az eltelt oszlop azt mutatja, hogy mennyi ideig tartott a CPU végrehajtani az R kódot. Az eredmények azt mutatják, hogy az RStudio 31,93 másodpercig tartott, ami jelentős idő. Ez a betöltési idő nem praktikus, ha mindig nagy adatkészletekkel dolgozik.

A kódteljesítmény értékelése és optimalizálása az R-ben

Az R-kód teljesítményének optimalizálásának egyik módja a tidyverse csomag használata. Ezzel 30-ról 5 másodpercre csökkenti az időt.

Vegye figyelembe, hogy a fájl olvasásához a read_csv ( ) függvényt kell használnia.

A kódteljesítmény értékelése és optimalizálása az R-ben

A tidyverse csomag javítja az R betöltési idejét az olvasó csomag használatával , amely egy sor gyors és hatékony funkciót biztosít az adatok olvasásához és írásához. A readr csomag olyan funkciókat biztosít, mint például a read_csv ( ) és a read_table ( ) , amelyek gyorsan és hatékonyan képesek nagy adathalmazokat olvasni.

Egy másik optimalizálási módszer R-ben a data.table csomag használata . Ez ingyenesen letölthető az internetről.

Az R-ben található data.table csomag egy hatékony és hatékony eszköz a nagy és összetett adatkészletekkel való munkavégzéshez. A data.frame objektum továbbfejlesztett változatát biztosítja, amely az R alapvető adatszerkezete. A data.table fő előnye a nagy teljesítménye és alacsony memóriahasználata nagy adatkészletekkel való munkavégzés esetén.

Vegye figyelembe, hogy ennek a csomagnak a használatakor a fread ( ) függvényt kell írnia a read.csv ( ) helyett. Ha ezt a kóddal együtt futtatja, láthatja, hogy a betöltési idő 2,25 másodpercre csökken.

A kódteljesítmény értékelése és optimalizálása az R-ben

R-csomagok összehasonlítása Microbenchmark használatával

Az egyes módszerek teljesítményének összehasonlításához használhatja a microbenchmark ( ) függvényt.

Az R mikrobenchmark ( ) függvénye az R kód teljesítményének mérésére szolgáló eszköz. Egyszerű és könnyen használható felületet biztosít az R kifejezések végrehajtási idejének összehasonlításához.

Egy nagyszerű dolog ebben a funkcióban, hogy beállíthatja, hogy a folyamat hányszor ismétlődjön meg. Ez pontosabb eredményeket ad. Azt is meg tudja állapítani, hogy az eredmények konzisztensek-e.

A kódteljesítmény értékelése és optimalizálása az R-ben

Ha problémába ütközik egy CSV-fájl olvasása a LuckyTemplates alkalmazásban, az RStudio megteheti helyetted. Vannak más lehetőségek az R-ben, amelyek segítségével optimalizálhatja a kód teljesítményét. De a data.table az egyszerűsége miatt erősen ajánlott.

Következtetés

Az R-kód optimalizálása fontos lépés annak biztosításában, hogy az R-szkriptek hatékonyan fussanak. Számos technika és eszköz használható az R kód optimalizálására, például a tidyverse csomag használata az adatok manipulálására, a data.table csomag használata nagy adathalmazokhoz, és a microbenchmark csomag használata az R kód teljesítményének mérésére.

Szintén fontos szem előtt tartani a jó kódolási gyakorlatokat, mint például a vektorizált műveletek használata ciklusok helyett, a beépített függvények használata a saját írása helyett, valamint a kód memóriahasználatának figyelembevétele.

Minden jót,

George Mount

Leave a Comment

E-mail melléklet mentése SharePointba a Power Automate segítségével

E-mail melléklet mentése SharePointba a Power Automate segítségével

Ebből a blogból megtudhatja, hogyan mentheti automatikusan az e-mail mellékleteket a SharePointba, majd törölheti az e-maileket a Power Automate segítségével.

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Power Automate folyamatok létrehozása a semmiből

A Power Automate folyamatok létrehozása a semmiből

Ismerje meg, hogyan hozhat létre <strong>Power Automate</strong> folyamatokat a semmiből. Sablon használata helyett mi magunk hozzuk létre a kiváltó okokat és a műveleteket.

4 módszer a Pi használatára a Pythonban példákkal

4 módszer a Pi használatára a Pythonban példákkal

4 módszer a Pi használatára a Pythonban példákkal

Profit and Loss (P&L) kimutatások létrehozása a LuckyTemplates alkalmazásban

Profit and Loss (P&L) kimutatások létrehozása a LuckyTemplates alkalmazásban

Ebben az útmutatóban bemutatom, hogyan lehet Pénzügyi információk mátrixát létrehozni a Profit és veszteség (P&L) kimutatással a LuckyTemplates alkalmazásban.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Fedezze fel, hogyan lehet dinamikusan egyesíteni oszlopokat a Power Query Table.CombineColumns függvény segítségével.

SharePoint-fájlok hozzáadása a számítógéphez

SharePoint-fájlok hozzáadása a számítógéphez

Ismerje meg, hogyan adhatjuk hozzá és szinkronizálhatjuk SharePoint-fájljainkat az asztalon és a OneDrive-on.

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.

LuckyTemplates mobil jelentéskészítési tippek és technikák

LuckyTemplates mobil jelentéskészítési tippek és technikák

Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.