10 kasulikku R-funktsiooni, millest te ei pruugi teada

10 kasulikku R-funktsiooni, millest te ei pruugi teada

R on tĂ€is mitmesuguseid funktsioone. Allpool toon neist kĂŒmme kĂ”ige huvitavamat, millest paljud ei pruugi teada. Artikkel ilmus pĂ€rast seda, kui avastasin, et kaasprogrammeerijad vĂ”tsid mu lood mĂ”ne R-i funktsiooni kohta, mida ma oma töös kasutan, entusiastlikult vastu. Kui te juba teate sellest kĂ”ike, siis vabandan teie aja raiskamise pĂ€rast. Samas, kui teil on midagi jagada, soovitage kommentaarides midagi kasulikku.

Skillbox soovitab: Praktiline kursus "Pythoni arendaja".

Tuletame meelde: kÔigile "Habr" lugejatele - allahindlus 10 000 rubla, kui registreerute mis tahes Skillboxi kursusele, kasutades sooduskoodi "Habr".

lĂŒliti funktsioon

Mulle vĂ€ga-vĂ€ga meeldib switch(). Tegelikult on see mugav lĂŒhike if-lause jaoks, kui valite vÀÀrtuse mĂ”ne teise muutuja vÀÀrtuse pĂ”hjal. Pean seda eriti kasulikuks siis, kui kirjutan koodi, mis vajab eelneva valiku pĂ”hjal konkreetse andmekogumi laadimist. NĂ€iteks kui teil on muutuja nimega loom ja soovite valida konkreetse andmekogumi olenevalt sellest, kas loom on koer, kass vĂ”i jĂ€nes, kirjutage see:

andmed < — read.csv(
lĂŒliti (loom,
"dog" = "koeraandmed.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

See funktsioon on kasulik Shiny rakendustes, kus peate laadima erinevaid andmekogumeid vĂ”i keskkonnafaile, olenevalt ĂŒhest vĂ”i mitmest sisendmenĂŒĂŒ ĂŒksusest.

RStudio kiirklahvid

See hÀkkimine pole mÔeldud mitte niivÔrd R-i, vaid RStudio IDE jaoks. Kiirklahvid on aga alati vÀga mugavad, vÔimaldades sÀÀsta aega teksti sisestamisel. Minu lemmikud on Ctrl+Shift+M operaatori %>% jaoks ja Alt+- operaatori <- jaoks.

KÔigi kiirklahvide vaatamiseks vajutage RStudios lihtsalt Alt+Shift+K.

flexdashboardi pakett

Kui teil on vaja oma Shiny armatuurlaud kiiresti kĂ€ivitada, pole midagi paremat kui armatuurlaua pakett. See annab vĂ”imaluse töötada HTML-i otseteedega, mis omakorda muudavad kĂŒlgribade, ridade ja veergude loomise lihtsaks ja probleemivabaks. Samuti on vĂ”imalus kasutada tiitliriba, mis vĂ”imaldab paigutada selle rakenduse erinevatele lehtedele, jĂ€tta Githubi ikoone, otseteid, meiliaadresse ja palju muud.

Pakett vĂ”imaldab teil töötada Rmarkdowni raames, nii et saate paigutada kĂ”ik rakendused ĂŒhte Rmd-faili, mitte levitada neid erinevate serverite ja kasutajaliidese failide vahel, nagu seda tehakse nĂ€iteks shinydashboardi abil. Kasutan flexdashboardi alati, kui pean enne millegi keerulise kallal töötamist looma lihtsa armatuurlaua prototĂŒĂŒbi. See funktsioon vĂ”imaldab luua prototĂŒĂŒbi ĂŒhe tunni jooksul.

nÔuda ja kinnitada R Shiny funktsioone

R Shinys arendamine vĂ”ib tekitada segadust, eriti kui saate pidevalt kummalisi veateateid, mis raskendavad toimuva mĂ”istmist. Kuid aja jooksul Shiny areneb ja tĂ€iustub, siia ilmub ĂŒha rohkem funktsioone, mis vĂ”imaldavad teil mĂ”ista vea pĂ”hjust. Seega lahendab req () probleemi "vaikiva" veaga, kui ĂŒldiselt pole selge, mis toimub. See vĂ”imaldab teil kuvada eelmiste toimingutega seotud kasutajaliidese elemente. Selgitame nĂ€itega:

output$go_button < — lĂ€ikiv::renderUI({

# ainult kuvamisnupp, kui valitud on looma sisend

lÀikiv::req(input$animal)

# kuvanupp

shiny::actionButton("go",
paste("KĂ€itumine", input$animal, "analĂŒĂŒs!")
)
})

validate() kontrollib enne renderdamist kĂ”ike ja annab vĂ”imaluse printida veateade – nĂ€iteks et kasutaja laadis ĂŒles vale faili:

# hankige csv-sisendfail

inFile < — sisend$fail1
andmed < — inFile$datapath

# renderda tabel ainult siis, kui tegemist on koertega

lÀikiv::renderTable({
# kontrollige, kas tegemist on koera failiga, mitte kasside vĂ”i kĂŒĂŒlikutega
lÀikiv::validate(
need("Koera nimi" %in% colnames(data)),
"Koera nime veergu ei leitud – kas laadisite Ă”ige faili?"
)

andmed
})

Lisateavet kÔigi nende funktsioonide kohta leiad siit.

Enda mandaatide salvestamine sĂŒsteemikeskkonda

Kui kavatsete jagada koodi, mis nĂ”uab mandaatide sisestamist, kasutage sĂŒsteemikeskkonda, et vĂ€ltida oma mandaatide hostimist Githubis vĂ”i mĂ”nes muus teenuses. Paigutuse nĂ€ide:

Sys.setenv(
DSN = "andmebaasi_nimi",
UID = "Kasutaja ID",
PASS = "Parool"
)

NĂŒĂŒd saate sisse logida keskkonnamuutujate abil:

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

Veelgi mugavam on (eriti kui kasutate andmeid sageli) mÀÀrata need keskkonnamuutujateks otse operatsioonisĂŒsteemis. Sel juhul on need alati saadaval ja te ei pea neid koodis tĂ€psustama.

Automatiseerige tidyverse stilistiga

Styleripakett aitab teil koodi puhastada; sellel on palju vÔimalusi koodistiili automaatseks tidyverse'i toomiseks. KÔik, mida pead tegema, on kÀivitada problemaatilises skriptis styler::style_file(). Pakett teeb palju (kuid mitte kÔike) korra taastamiseks.

R Markdowni dokumentide parameetrite mÀÀramine

Seega olete loonud suurepĂ€rase R Markdowni dokumendi, milles analĂŒĂŒsite erinevaid fakte koerte kohta. Ja siis tuleb pĂ€he, et parem oleks sama tööd teha, aga ainult kassidega. Pole probleemi, saate kassiaruannete loomise automatiseerida vaid ĂŒhe kĂ€suga. Selleks peate parameetriseerima ainult oma R-i allahindlusdokumendi.

Seda saate teha, mÀÀrates mÀÀratud dokumendis YAML-i pÀise parameetrid ja seejÀrel mÀÀrates vÀÀrtusparameetrid.

— pealkiri: "Loomade analĂŒĂŒs"
autor: "Keith McNulty"
kuupÀev: "21. mÀrts 2019"
vÀljund:
html_document:
code_folding: "peida"
parameetrid:
looma_nimi:
vÀÀrtus: koer
valikud:
— Koer
— Kass
- JĂ€nes
years_of_study:
sisend: liugur
min: 2000
max: 2019
samm 1
voor: 1
september: "
vÀÀrtus: [2010, 2017]
-

NĂŒĂŒd saate registreerida kĂ”ik muutujad dokumendi koodis kui params$looma_nimi ja params$years_of_study. SeejĂ€rel kasutame rippmenĂŒĂŒd Knit (vĂ”i kududa_parameetritega()) ja saame parameetreid valida.

10 kasulikku R-funktsiooni, millest te ei pruugi teada

discoverjs

discoverjs on pakett, mis vĂ”imaldab teil luua suurepĂ€raseid HTML-esitlusi sisseehitatud R-koodi, intuitiivse navigeerimise ja slaidimenĂŒĂŒdega. HTML-i otseteed vĂ”imaldavad teil kiiresti luua pesastatud slaidistruktuuri erinevate stiilivalikutega. Noh, HTML töötab igas seadmes, nii et esitlust saab avada igas telefonis, tahvelarvutis vĂ”i sĂŒlearvutis. Teabe avaldamist saab konfigureerida, installides paketi ja kutsudes selle YAML-i pĂ€isesse. Siin on nĂ€ide:

— pealkiri: "Inimeste analĂŒĂŒsi universumi serva uurimine"
autor: "Keith McNulty"
vÀljund:
discoverjs::revealjs_presentation:
keskus: jah
mall: starwars.html
teema: must
kuupĂ€ev: “HR Analytics Meetup London – 18. mĂ€rts 2019”
resource_files:
— darth.png
- deathstar.png
- hanchewy.png
- millennium.png
- r2d2-threepio.png
-starwars.html
-starwars.png
-stormtrooper.png
-

Esitluse lĂ€htekood postitatud siia, ja teda ennastrpubs.com/keithmcnulty/hr_meetup_london'> esitlus – siin.

10 kasulikku R-funktsiooni, millest te ei pruugi teada

HTML-sildid rakenduses R Shiny

Enamik programmeerijaid ei kasuta tĂ€ielikult Ă€ra R Shiny HTML-mĂ€rgendeid. Kuid need on ainult 110 silti, mis vĂ”imaldavad luua lĂŒhikese kĂ”ne HTML-funktsiooni vĂ”i meediumi taasesituse jaoks. NĂ€iteks kasutasin hiljuti tags$audio "vĂ”idu" heli esitamiseks, mis teavitas kasutajat ĂŒlesande tĂ€itmisest.

Kiituspakett

Selle paketi kasutamine on vÀga lihtne, kuid see on vajalik kasutajale kiituse avaldamiseks. Tundub imelik, aga tegelikult meeldib see neile.

10 kasulikku R-funktsiooni, millest te ei pruugi teada

Skillbox soovitab:

Allikas: www.habr.com

Ostke DDoS-kaitsega saitide jaoks usaldusvÀÀrne hostimine, VPS VDS-serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster