10 užitočných funkcií R, o ktorých ste možno nevedeli

10 užitočných funkcií R, o ktorých ste možno nevedeli

R je plné rôznych funkcií. Nižšie uvediem desať najzaujímavejších z nich, o ktorých mnohí možno nevedia. Článok sa objavil po tom, čo som zistil, že moje príbehy o niektorých funkciách R, ktoré používam vo svojej práci, boli nadšene prijaté kolegami programátormi. Ak už o tom všetko viete, ospravedlňujem sa za stratu času. Zároveň, ak máte niečo spoločné, odporučte niečo užitočné v komentároch.

Skillbox odporúča: Praktický kurz "vývojár Pythonu".

Pripomíname vám: pre všetkých čitateľov „Habr“ - zľava 10 000 rubľov pri registrácii do akéhokoľvek kurzu Skillbox pomocou propagačného kódu „Habr“.

funkcia spínača

Naozaj sa mi páči switch(). V skutočnosti je to vhodná skratka pre príkaz if pri výbere hodnoty na základe hodnoty inej premennej. Považujem to za užitočné najmä vtedy, keď píšem kód, ktorý potrebuje načítať špecifickú množinu údajov na základe predchádzajúceho výberu. Napríklad, ak máte premennú s názvom zviera a chcete vybrať konkrétnu množinu údajov podľa toho, či je zviera pes, mačka alebo králik, napíšte toto:

data < — read.csv(
prepínač (zviera,
"pes" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Táto funkcia bude užitočná v aplikáciách Shiny, kde potrebujete načítať rôzne súbory údajov alebo súbory prostredia v závislosti od jednej alebo viacerých položiek vstupnej ponuky.

Klávesové skratky pre RStudio

Tento hack nie je ani tak pre R, ale pre RStudio IDE. Klávesové skratky sú však vždy veľmi pohodlné a umožňujú vám ušetriť čas pri zadávaní textu. Moje obľúbené sú Ctrl+Shift+M pre operátor %>% a Alt+- pre operátor <-.

Ak chcete zobraziť všetky klávesové skratky, jednoducho stlačte Alt+Shift+K v RStudio.

balík flexdashboard

Keď potrebujete rýchlo spustiť svoju prístrojovú dosku Shiny, nie je nič lepšie ako balík prístrojovej dosky. Poskytuje možnosť pracovať s HTML skratkami, ktoré zase uľahčujú a bezproblémové vytváranie bočných panelov, riadkov a stĺpcov. Nechýba ani možnosť použiť titulný riadok, ktorý vám umožní umiestniť ho na rôzne stránky aplikácie, nechať ikony, skratky na Github, e-mailové adresy a mnoho ďalšieho.

Balík vám umožňuje pracovať v rámci Rmarkdown, takže môžete všetky aplikácie umiestniť do jedného súboru Rmd a nie ich distribuovať medzi rôzne servery a súbory používateľského rozhrania, ako sa to robí napríklad pomocou shinydashboard. Flexdashboard používam vždy, keď potrebujem vytvoriť jednoduchý prototyp dashboardu pred prácou na niečom komplexnom. Táto funkcia vám umožňuje vytvoriť prototyp do hodiny.

vyžadovať a overiť funkcie v R Shiny

Vyvíjanie v R Shiny môže byť mätúce, najmä keď sa vám neustále zobrazujú podivné chybové hlásenia, ktoré sťažujú pochopenie toho, čo sa deje. Postupom času sa však Shiny vyvíja a zdokonaľuje, objavuje sa tu stále viac funkcií, ktoré vám umožnia pochopiť príčinu chyby. Takže req() rieši problém s „tichou“ chybou, keď vo všeobecnosti nie je jasné, čo sa deje. Umožňuje vám zobraziť prvky používateľského rozhrania spojené s predchádzajúcimi akciami. Vysvetlime si to na príklade:

output$go_button < — lesklý::renderUI({

# tlačidlo zobraziť len vtedy, ak bol zvolený vstup zvierat

lesklý::req(vstup$zviera)

# tlačidlo displeja

lesklé::actionButton("choď",
paste("Správanie", vstup $zviera, "analýza!")
)
})

validate() pred vykreslením všetko skontroluje a dá vám možnosť vytlačiť chybové hlásenie – napríklad, že používateľ nahral nesprávny súbor:

# získajte vstupný súbor csv

inFile < — vstup $súbor1
data < — inFile$datapath

# vykresľovať tabuľku iba ak ide o psy

lesklý::renderTable({
# skontrolujte, či ide o súbor pre psov, nie pre mačky alebo králiky
lesklé::overiť(
need("Meno psa" %in% colnames(data)),
"Stĺpec Meno psa sa nenašiel - načítali ste správny súbor?"
)

data
})

Viac informácií o všetkých týchto funkciách nájdete tu.

Uloženie vašich poverení pre seba v systémovom prostredí

Ak plánujete zdieľať kód, ktorý vyžaduje zadanie poverení, použite systémové prostredie, aby ste sa vyhli hosťovaniu vlastných poverení na Github alebo inej službe. Príklad umiestnenia:

Sys.setenv(
DSN = "názov_databázy",
UID = "ID používateľa",
PASS = "Heslo"
)

Teraz sa môžete prihlásiť pomocou premenných prostredia:

db < — DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
pwd = Sys.getenv("PASS")
)

Ešte pohodlnejšie je (najmä ak dáta často používate) nastaviť ich ako premenné prostredia priamo v operačnom systéme. V tomto prípade budú vždy dostupné a nebudete ich musieť uvádzať v kóde.

Automatizujte upratovanie pomocou stylingu

Balík Styler vám môže pomôcť vyčistiť kód; má veľa možností na automatické prenesenie štýlu kódu do poriadku. Všetko, čo musíte urobiť, je spustiť styler::style_file() na vašom problémovom skripte. Balík urobí veľa (ale nie všetko), aby obnovil poriadok.

Parametrizácia R Markdown dokumentov

Takže ste vytvorili skvelý dokument R Markdown, v ktorom analyzujete rôzne fakty o psoch. A potom vám napadne, že by bolo lepšie robiť rovnakú prácu, ale len s mačkami. Žiadny problém, vytváranie správ o mačkách môžete automatizovať jediným príkazom. Ak to chcete urobiť, musíte iba parametrizovať dokument R markdown.

Môžete to urobiť nastavením parametrov pre hlavičku YAML v zadanom dokumente a potom nastavením parametrov hodnoty.

— názov: „Analýza zvierat“
autor: "Keith McNulty"
dátum: "21. marec 2019"
výkon:
html_document:
code_folding: "skryť"
parametre:
zviera_nazov:
hodnota: Pes
možnosti:
-Pes
— Mačka
— Králik
roky_studia:
vstup: posuvník
min: 2000
max: 2019
krok 1
kolo: 1
september: "
hodnota: [2010, 2017] —

Teraz môžete zaregistrovať všetky premenné v kóde dokumentu ako params$animal_name a params$years_of_study. Potom použijeme rozbaľovaciu ponuku Knit (alebo knit_with_parameters()) a budeme môcť vybrať parametre.

10 užitočných funkcií R, o ktorých ste možno nevedeli

discoverjs

discoverjs je balík, ktorý vám umožňuje vytvárať skvelé HTML prezentácie so vstavaným R kódom, intuitívnou navigáciou a ponukami snímok. HTML skratky vám umožňujú rýchlo vytvoriť vnorenú štruktúru snímky s rôznymi možnosťami štýlu. HTML pobeží na akomkoľvek zariadení, takže prezentáciu je možné otvoriť na každom telefóne, tablete alebo notebooku. Sprístupnenie informácií je možné nakonfigurovať nainštalovaním balíka a jeho volaním v hlavičke YAML. Tu je príklad:

— názov: „Exporting the Edge of the People Analytics Universe“
autor: "Keith McNulty"
výkon:
discoverjs::revealjs_presentation:
stred: áno
šablóna:starwars.html
téma: čierna
dátum: “HR Analytics Meetup London – 18. marec 2019”
zdrojové_súbory:
— darth.png
- deathstar.png
- hanchewy.png
- tisícročie.png
- r2d2-threepio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Zdrojový kód prezentácie uverejnené tu, a ona samarpubs.com/keithmcnulty/hr_meetup_london'>prezentácia - tu.

10 užitočných funkcií R, o ktorých ste možno nevedeli

HTML tagy v R Shiny

Väčšina programátorov nevyužíva všetky výhody HTML značiek, ktoré má R Shiny. Ide však len o 110 značiek, ktoré umožňujú vytvoriť krátke volanie funkcie HTML alebo prehrávanie médií. Napríklad nedávno som použil tags$audio na prehrávanie zvuku „víťazstva“, ktorý používateľa upozornil na splnenie úlohy.

Pochvalný balíček

Používanie tohto balíka je veľmi jednoduché, ale je potrebné na vyjadrenie pochvaly používateľovi. Zdá sa to zvláštne, ale v skutočnosti sa im to páči.

10 užitočných funkcií R, o ktorých ste možno nevedeli

Skillbox odporúča:

Zdroj: hab.com

Pridať komentár