
R-is on tĂ€is erinevaid funktsioone. Allpool toon vĂ€lja kĂŒmme huvitavat, millest paljud ei pruugi teadlikud olla. Artikkel ilmus pĂ€rast seda, kui avastasin, et mu jutud R-i mĂ”nede vĂ”imaluste kohta, mida tööks kasutan, on teistele programmeerijatele mĂ”ju avaldanud. Kui sa juba tead kĂ”ike seda, siis vabandan, et raiskan su aega. Samuti, kui sul on jagada midagi kasulikku, soovita palun kommentaarides.
Skillbox soovitab: Praktiline kursus .
Tuletame meelde: kĂ”igile «Habra» lugejatele â 10 000 rubla soodustus, kui registreerite end Skillboxi mis tahes kursusele promokoodi «Habr» abil.
Switch-funktsioon
Mulle vĂ€ga, vĂ€ga meeldib switch(). Tegelikult on see mugav lĂŒhend if-lausest, kui valitakse vÀÀrtus vastavalt teise muutuja vÀÀrtusele. Leian, et see on eriti kasulik, kui kirjutan koodi, mis peab laadima teatud andmesĂŒsteemi vastavalt eelnevale valikule. NĂ€iteks, kui on muutuja nimega animal ja on vaja valida kindel andmestik, sĂ”ltuvalt sellest, kas loom on koer, kass vĂ”i kĂŒĂŒlik, kirjutage jĂ€rgmiselt:
data < â read.csv(
switch(animal,
«dog» = «dogdata.csv»,
«cat» = «catdata.csv»,
«rabbit» = «rabbitdata.csv»)
)
See funktsioon on kasulik Shiny rakendustes, kus on vaja laadida erinevaid andmekogusid vĂ”i keskkonna faile, sĂ”ltuvalt ĂŒhest vĂ”i mitmest sisendmenĂŒĂŒst.
Klahvikombinatsioonid RStudios
See nipp ei kehti niivÔrd R-i, vaid RStudio IDE kohta. Sellegipoolest on klahvikombinatsioonid alati vÀga mugavad, aidates sÀÀsta aega teksti sisestamisel. Minu lemmikud on Ctrl+Shift+M %>% operaatori jaoks ja Alt+- <- operaatori jaoks.
Kohandada kÔiki klahvikombinatsioone, vajutage lihtsalt Alt+Shift+K RStudios.
Flexdashboard paket
Kui on vaja kiiresti alustada Shiny armatuurlauda, pole midagi paremat kui dashboard pakett. See vĂ”imaldab töötada HTML lĂŒhikestega, mis omakorda vĂ”imaldavad hĂ”lpsalt ja probleemideta luua kĂŒlgpaneele, ridu ja veerge. Samuti on vĂ”imalik kasutada title bar, mis vĂ”imaldab selle asetada erinevatele rakenduse lehtedele, jĂ€tta ikoonid, lingid GitHubis, e-posti aadressid ja palju muud.
Pakk vĂ”imaldab töötada Rmarkdowni raames, nii et kĂ”ik rakendused saab paigutada ĂŒhte Rmd-faili, mitte jagada neid erinevatele serveritele ja UI-failidele, nagu see on nĂ€iteks shinydashboardi abil. Kasutan flexdashboardi alati, kui pean looma lihtsa juhtpaneeli prototĂŒĂŒbi, enne kui hakkan millegi keerulisemaga tegelema. See funktsioon vĂ”imaldab luua prototĂŒĂŒbi tunni jooksul.
Funktsioonid req ja validate R Shiny's
Arendamine R Shiny's vĂ”ib olla segadusttekitav, eriti kui saad pidevalt kummalisi veateateid, mis ei aita sul mĂ”ista, mis toimub. Kuid ajaga areneb ja tĂ€ieneb Shiny, luues ĂŒha rohkem funktsioone, mis aitavad viga mĂ”ista. NĂ€iteks req() lahendab 'vaikse' vea probleemi, kui ei ole ĂŒldse selge, mis on valesti. Sellega saab kuvada kasutajaliidese elemente, mis on seotud varasemate toimingutega. Selgitame nĂ€ite abil:
output$go_button < â shiny::renderUI({
# only display button if an animal input has been chosen
shiny::req(input$animal)
# display button
shiny::actionButton(«go»,
paste(«Conduct», input$animal, «analysis!»)
)
})
validate() kontrollib kÔike enne renderdamist ja annab vÔimaluse kuvada veateadet - nÀiteks, kui kasutaja laadib vale faili:
# get csv input file
inFile < - input$file1
data < - inFile$datapath
# render table only if it is dogs
shiny::renderTable({
# check that it is the dog file, not cats or rabbits
shiny::validate(
need(«Dog Name» %in% colnames(data)),
«Koera nime veerg puudub - kas laadisite Ôige faili?»
)
data
})
TĂ€psemat teavet nende funktsioonide kohta .
Hoida oma mandaate sĂŒsteemi keskkonnas
Kui kavatsete jagada koodi, kus nĂ”utakse ligipÀÀsu andmete sisestamist, - kasutage sĂŒsteemi keskkonda, et vĂ€ltida oma mandaadi postitamist Githubi vĂ”i muusse teenusesse. NĂ€ide paigutamisest:
Sys.setenv(
DSN = «andmebaasi_nimi»,
UID = «Kasutaja ID»,
PASS = «Parool»
)
NĂŒĂŒd saate sisse logida, kasutades keskkonna muutujaid:
db < - DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv(«DSN»),
uid = Sys.getenv(«UID»),
pwd = Sys.getenv(«PASS»)
)
Isegi mugavam (eriti kui andmeid kasutatakse tihti) on need kehtestada keskkonna muutujateks otse operatsioonisĂŒsteemis. Sel juhul on need alati saadaval ja ei pea neid koodis mÀÀrama.
Tidyverse automatiseerimine koos styleriga
Koodi korrigeerimise puhul vÔib abi olla styler paketti, millel on palju vÔimalusi automatiseerida koodi stiili korrastamist tidyverse'is. KÔik, mida peate tegema, on kÀivitada styler::style_file() oma probleemse skripti jaoks. Paketiga saab korda teha vÀga palju (aga mitte kÔike), et olukord paremaks muuta.
R Markdown dokumentide parameteriseerimine
Olete loonud suurepĂ€rase R Markdown dokumendi, kus analĂŒĂŒsite erinevaid fakte koerte kohta. Siis tuleb teile mĂ”tte, et oleks parem teha sama töö, kuid kassidega. Pole hullu, saate kasside raportite loomise automatiseerida vaid ĂŒhe kĂ€su abil. Selleks peate vaid oma R Markdown dokumenti parameteriseerima.
Seda saab teha, seadistades YAML pealkirja parameetrid antud dokumendis, ja seejÀrel - vÀÀrtuste parameetrid.
â title: "Animal Analysis"
author: "Keith McNulty"
date: "21. mÀrts 2019"
output:
html_document:
code_folding: "hide"
params:
animal_name:
value: Dog
choices:
â Dog
â Cat
â Rabbit
years_of_study:
input: slider
min: 2000
max: 2019
step: 1
round: 1
sep: »
value: [2010, 2017]
â
NĂŒĂŒd on vĂ”imalik mÀÀrata kĂ”ik muutujad dokumendi koodis parameetriteks params$animal_name ja params$years_of_study. SeejĂ€rel kasutame Knit'i rippmenĂŒĂŒd (vĂ”i knit_with_parameters()) ja saame valida parameetreid.

revealjs
revealjs â pakett, mis vĂ”imaldab luua suurepĂ€raseid HTML-esitlusi sisseehitatud R-koodiga, intuitiivse navigeerimise ja slaidimenĂŒĂŒga. HTML-lĂŒhisildid vĂ”imaldavad kiiresti luua pesastatud slaidistruktuuri erinevate stiilide variatsioonidega. Ning HTML kĂ€ivitub igas seadmes, seega saavad esitluse avada iga telefon, tahvelarvuti vĂ”i sĂŒlearvuti. Teabe avamist saab kohandada, installides paketi ja kutsudes selle YAML-pealkirjas esile. Siin on nĂ€ide:
â title: «Exporing the Edge of the People Analytics Universe»
author: "Keith McNulty"
output:
revealjs::revealjs_presentation:
center: yes
template: starwars.html
theme: black
date: «HR Analytics Meetup London â 18. mĂ€rts 2019»
resource_files:
â darth.png
â deathstar.png
â hanchewy.png
â millenium.png
â r2d2-threepio.png
â starwars.html
â starwars.png
â stormtrooper.png
â
Esitluse lĂ€htekood , ja see <a href=«â>esitlus â siin.

HTML-sildid R Shiny's
Enamik programmeerijatest ei kasutagi R Shiny HTML-mĂ€rgistuse kogu potentsiaali. Tegelikult on olemas vaid 110 elementi, mis vĂ”imaldavad luua lĂŒhikesi kutsungeid HTML-funktsioonidele vĂ”i multimeedia taasesitusele. NĂ€iteks kasutasin hiljuti tags$audio, et esitada "vĂ”iduhĂŒĂŒd" helifaili, mis teavitas kasutajat ĂŒlesande lĂ”petamisest.
Paki praise
Selle paketi kasutamine on vÀga lihtne ning see on vajalik kasutaja kiitmiseks. See vÔib tunduda imelik, kuid tegelikult meeldib see neile.

Skillbox soovitab:
- Kaheaastane praktiline kursus .
- Veebikursus .
- Praktiline aastakursus .
Allikas: habr.com
