Koodin suorituskyvyn arviointi ja optimointi R:ssä

R-koodin optimointi voi parantaa merkittävästi R-skriptien ja ohjelmien suorituskykyä, jolloin ne toimivat tehokkaammin. Tämä on erityisen tärkeää suurille ja monimutkaisille tietojoukoille sekä sovelluksille, joita on ajettava reaaliajassa tai säännöllisesti.

Tässä opetusohjelmassa arvioimme ja optimoimme R-koodin suorituskykyä käyttämällä erilaisia ​​, kuten tidyverse ja data.table. Esimerkkinä nähdään, kuinka kauan RStudiolla kestää lukea suuri CSV-tiedosto read.csv ( ) -funktiolla, tidyverse-paketilla ja data.table-paketilla.

Sisällysluettelo

Suorituskyvyn optimointi R:ssä

Avaa RStudio. Määritä R-komentosarjassa muuttujalle tiedostotunniste.

Sinun on käytettävä system.file ( ) -toimintoa määrittääksesi, kuinka kauan toiminnon tai toiminnon suorittaminen kestää. Koska haluamme arvioida, kuinka kauan tiedoston avaaminen kestää, kirjoita argumenttiin read.csv (df) .

Koodin suorituskyvyn arviointi ja optimointi R:ssä

Kun suoritat koodin, konsoli näyttää ajan, joka kesti tiedoston avaamiseen. Kulunut sarake näyttää, kuinka kauan CPU:lla kesti suorittaa R-koodi. Tulokset osoittavat, että RStudiossa kesti 31,93 sekuntia, mikä on huomattava määrä aikaa. Tämä latausaika on epäkäytännöllinen, jos työskentelet aina suurten tietojoukkojen kanssa.

Koodin suorituskyvyn arviointi ja optimointi R:ssä

Yksi tavoista optimoida R-koodisi suorituskykyä on käyttää tidyverse - pakettia. Tämä lyhentää aikaa 30 sekunnista 5 sekuntiin.

Huomaa, että tiedoston lukemiseksi sinun on käytettävä read_csv ( ) -toimintoa.

Koodin suorituskyvyn arviointi ja optimointi R:ssä

Tidyverse-paketti parantaa R:n latausaikaa käyttämällä lukupakettia , joka tarjoaa joukon nopeita ja tehokkaita toimintoja tiedon lukemiseen ja kirjoittamiseen. Readr-paketti sisältää toiminnot, kuten read_csv ( ) ja read_table ( ) , jotka voivat lukea suuria tietojoukkoja nopeasti ja tehokkaasti.

Toinen R:n optimointimenetelmä on data.table -paketin käyttö. Tämä on ladattavissa ilmaiseksi Internetistä.

Data.table-paketti R:ssä on tehokas ja tehokas työkalu suurten ja monimutkaisten tietojoukkojen käsittelyyn. Se tarjoaa parannetun version data.frame-objektista, joka on R:n ydintietorakenne. Data.tablen tärkein etu on sen korkea suorituskyky ja alhainen muistin käyttö suurten tietojoukkojen kanssa työskennellessä.

Huomaa, että tätä pakettia käytettäessä sinun on kirjoitettava fread ( ) -funktio read.csv ( ) sijaan. Kun suoritat tämän yhdessä koodisi kanssa, näet, että latausaika on lyhentynyt 2,25 sekuntiin.

Koodin suorituskyvyn arviointi ja optimointi R:ssä

R-pakettien vertailu Microbenchmarkin avulla

Voit verrata kunkin menetelmän suorituskykyä käyttämällä mikrobenchmark-toimintoa ( ) .

Mikrobenchmark ( ) -funktio R:ssä on työkalu R-koodin suorituskyvyn mittaamiseen. Se tarjoaa yksinkertaisen ja helppokäyttöisen käyttöliittymän R-lausekkeiden suoritusajan vertailuun.

Hienoa tässä toiminnossa on se, että voit määrittää, kuinka monta kertaa prosessi toistetaan. Tämä antaa tarkemmat tulokset. Pystyt myös tunnistamaan, ovatko tulokset johdonmukaisia.

Koodin suorituskyvyn arviointi ja optimointi R:ssä

Jos sinulla on vaikeuksia lukea CSV-tiedostoa LuckyTemplatesissa, RStudio voi tehdä sen puolestasi. R:ssä on muita vaihtoehtoja, joiden avulla voit optimoida koodisi suorituskyvyn. Data.table on kuitenkin erittäin suositeltavaa sen yksinkertaisuuden vuoksi.

Johtopäätös

R-koodin optimointi on tärkeä askel sen varmistamisessa, että R-skriptit toimivat tehokkaasti. On olemassa useita tekniikoita ja työkaluja, joita voidaan käyttää R-koodin optimointiin, kuten tidyverse-paketin käyttö tietojen käsittelyyn, data.table-paketin käyttö suurille tietojoukoille ja microbenchmark-paketin käyttäminen R-koodin suorituskyvyn mittaamiseen.

On myös tärkeää pitää mielessä hyvät koodauskäytännöt, kuten vektorisoitujen toimintojen käyttäminen silmukoiden sijaan, sisäänrakennettujen funktioiden käyttäminen oman kirjoittamisen sijaan ja koodin muistin käytön huomioiminen.

Kaikki parhaat,

George Mount


LuckyTemplates -muotokartan visualisointi tilaanalyysiin

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

Tämä blogi sisältää Shape Map -visualisoinnin tilaanalyysiä varten LuckyTemplatesissa. Näytän sinulle, kuinka voit käyttää tätä visualisointia tehokkaasti sen ominaisuuksien ja elementtien kanssa.

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

Tässä opetusohjelmassa esittelen ainutlaatuisen idean talousraportoinnista, joka allokoi tulokset LuckyTemplatesin sisällä olevien taulukkopohjien ennalta määrittämiseen.

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

Luo DAX-suureita LuckyTemplatesissa käyttämällä olemassa olevia suureita tai kaavoja. Tätä kutsun mittahaaroitustekniikaksi.

Tehokkain toimintopuhelu LuckyTemplatesissa

Tehokkain toimintopuhelu LuckyTemplatesissa

Tässä blogissa tutustu LuckyTemplates-tietojoukkoon, tehokkaimpaan funktiokutsuun, joka tuo tuhansia M- ja DAX-funktioita sormiesi ulottuville.

Datamallinnustekniikat DAX-mittausten järjestämiseen

Datamallinnustekniikat DAX-mittausten järjestämiseen

Tämän päivän opetusohjelmassa jaan muutamia datamallinnustekniikoita DAX-mittausten järjestämiseksi paremmin tehokkaamman työnkulun aikaansaamiseksi.

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates on loistava työkalu talousraportointiin. Tässä on opetusohjelma räätälöityjen taulukoiden luomisesta LuckyTemplates-talouden hallintapaneelillesi.

Power Queryn kielivirran parhaat käytännöt

Power Queryn kielivirran parhaat käytännöt

Tässä opetusohjelmassa keskustellaan Power Query Language Flowsta ja siitä, kuinka se voi auttaa luomaan sujuvan ja tehokkaan dataraportin.

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

Keskustelen yhdestä suosikkitekniikoistani mukautettujen LuckyTemplates-kuvakkeiden ympärillä, joka käyttää mukautettuja kuvakkeita dynaamisella tavalla LuckyTemplates-visuaaleissa.

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

Tässä blogissa näytän sinulle, kuinka voit luoda LuckyTemplates-taulukoita käyttämällä kaavaa, joka yhdistää UNION-funktion ja ROW-funktion.

On-Premises Data Gateway Power Automatessa

On-Premises Data Gateway Power Automatessa

Tutustu siihen, kuinka On-premises-tietoyhdyskäytävä antaa Power Automaten käyttää työpöytäsovelluksia, kun käyttäjä on poissa tietokoneesta.