
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 .
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 .
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.

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 , ja teda ennast'> esitlus â siin.

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.

Skillbox soovitab:
- Kaheaastane praktiline kursus .
- Veebikursus .
- Praktilise aasta kursus .
Allikas: www.habr.com
