10 karakteristika të dobishme të R, për të cilat mund të mos jeni njohur

10 karakteristika të dobishme të R, për të cilat mund të mos jeni njohur

R ka plot me ka shumë funksione të ndryshme. Më poshtë do të përmend dhjetë nga ato më interesante, për të cilat shumë ndoshta nuk e dinë. Ky artikull u shfaq pasi e kuptova se historitë e mia mbi disa mundësi të R, që i përdor në punë, janë pritur me entuziazëm nga programuesit e njohur. Nëse tashmë e dini të gjithë këtë, më vjen keq për humbjen e kohës tuaj. Megjithatë, nëse keni diçka për të ndarë - ju lutem, mos ngurroni të sugjeroni diçka të dobishme në komentet.

Skillbox rekomandon: Kurs praktik «Zhvillues Python».

KujtojmĂ«: pĂ«r tĂ« gjithĂ« lexuesit e "Habra" — zbritje prej 10,000 rublej pĂ«r regjistrimin nĂ« çdo kurs Skillbox me kodin promocional "Habr".

Funksioni switch

Më pëlqen shumë switch(). Në fakt, është një shkurtim i përshtatshëm i operatorit if kur vendos një vlerë në përputhje me vlerën e një variabli tjetër. E gjej këtë veçanërisht të dobishme kur shkruaj kod që duhet të ngarkojë një grup të caktuar të dhënash në përputhje me zgjedhjen e mëparshme. Për shembull, nëse keni një variabël me emrin animal dhe duhet të zgjidhni një grup të caktuar të dhënash në varësi të kësaj nëse kafsha është një qen, një mace apo një lepur, shkruani kështu:

data < - read.csv(
switch(animal,
«dog» = «dogdata.csv»,
«cat» = «catdata.csv»,
«rabbit» = «rabbitdata.csv»)
)

Kjo mundësi do të jetë e dobishme në aplikacionet Shiny, ku duhet të ngarkoni grupe të ndryshme të të dhënave ose skedarë mjedisor në përputhje me një ose disa elementë të menusë së inputit.

Shkurtore për RStudio

Ky haku nuk është aq për R, sa për RStudio IDE. Megjithatë, shkurtoret janë gjithmonë shumë të dobishme, duke kursyer kohë gjatë hyrjes së tekstit. Preferatat e mia janë Ctrl+Shift+M për operatorin %>%, dhe Alt+- për operatorin <-.

Për të parë të gjitha shkurtoret, thjesht shtypni Alt+Shift+K në RStudio.

Paketa flexdashboard

Kur duhet të filloni shpejt një panel Shiny, nuk ka asgjë më të mirë se paketa dashboard. Ajo ofron mundësinë për të punuar me lidhje HTML, të cilat gjithashtu lejojnë krijimin e lehtë dhe pa probleme të sidebar-eve, rreshtave dhe kolonave. Ka gjithashtu mundësinë për të përdorur një title bar, e cila lejon që të vendoset në faqet e ndryshme të aplikacionit, duke lënë ikona, lidhje në Github, adresat e emailit dhe më shumë.

Paketa lejon punimin brenda Rmarkdown, kështu që mund të vendosni të gjitha aplikacionet në një dosje Rmd, në vend që t'i shpërndani ato në servera të ndryshëm dhe UI-dosje, siç bëhet, për shembull, me shinydashboard. Unë përdor flexdashboard gjithmonë kur më nevojitet të krijoj një prototip të thjeshtë të panelit, para se të filloj të punoj në diçka më të ndërlikuar. Kjo funksionalitet ofron mundësinë për të krijuar një prototip brenda një ore.

Funksionet req dhe validate në R Shiny

Zhvillimi në R Shiny mund të jetë konfuz, veçanërisht kur vazhdoni të merrni mesazhe të çuditshme gabimi që asgjë nuk ndihmon për të kuptuar se çfarë po ndodh. Por me kalimin e kohës, Shiny zhvillohet dhe përmirësohet, duke sjellë gjithnjë e më shumë funksionalitete që lehtësojnë identifikimin e shkakut të gabimeve. Për shembull, req() zgjidh problemin me «gabimin e qetë», kur nuk është e qartë se çfarë është problemi. Me të, mund të shfaqni elemente të ndërfaqes së përdoruesit që janë të lidhur me veprimet e mëparshme. Ta ilustrojmë me një shembull:

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(«Kryej», input$animal, «analizën!»)
)
})

validate() verifikon gjithçka përpara se të renderojë dhe jep mundësinë për të shfaqur një mesazh gabimi - për shembull, nëse përdoruesi ngarkoi skedarin e gabuar:

# 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)),
«Kolona Dog Name nuk u gjet - a e ngarkuat skedarin e duhur?»
)

data
})

Më shumë informacion mbi të gjitha këto funksione mund të gjendet këtu.

Ruajtja e kredencialeve tuaja në mjedisin sistemor

Nëse planifikoni të ndani kodin tuaj, ku kërkohet të jepni të dhënat e aksesit - përdorni mjedisin sistemor për të shmangur vendosjen e kredencialeve tuaja në Github ose shërbime të tjera. Shembulli i vendosjes është:

Sys.setenv(
DSN = «emri_i_bazës_së_të_dhënave»,
UID = «ID_i_Përdoruesit»,
PASS = «Fjalëkalimi»
)

Tani mund të lidhesh duke përdorur variablat e mjedisit:

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

Edhe mĂ« praktike (sidomos nĂ«se tĂ« dhĂ«nat pĂ«rdoren shpesh nga ju) Ă«shtĂ« t’i vendosni ato si variabla mjedisi drejtpĂ«rdrejt nĂ« sistemin operativ. NĂ« kĂ«tĂ« rast, ato do tĂ« jenĂ« gjithmonĂ« tĂ« disponueshme dhe nuk do tĂ« jetĂ« e nevojshme t'i jepni ato nĂ« kod.

Automatizimi i tidyverse me styler

Paketën styler mund ta përdorni për të pastruar kodin, e cila ka shumë mundësi për stilizimin automatik të kodit në tidyverse. E gjithë çfarë duhet të bëni është të ekzekutoni styler::style_file() për skedarin tuaj problematik. Paketa do të bëjë shumë (por jo gjithçka) për të rregulluar gjërat.

Parametrizimi i dokumenteve R Markdown

Kështu, keni krijuar një dokument të shkëlqyer R Markdown, në të cilin analizoni fakte të ndryshme mbi qentë. Pastaj ju vie në mendje se do të ishte më mirë të bëni të njëjtën punë, por vetëm me kotele. Asgjë e keqe, mund të automatizoni krijimin e raporteve mbi kotelet me vetëm një komandë. Për këtë, duhet vetëm të parametrizohet dokumenti juaj R Markdown.

Kjo mund të bëhet duke vendosur parametrat për titullin YAML në dokumentin e përmendur, e më pas - parametrat e vlerës.

— title: «Analiza e KafshĂ«ve»
author: «Keith McNulty»
date: «21 Mars 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]
—

Tani mund të shkruani të gjitha variablet në kodin e dokumentit si params$animal_name dhe params$years_of_study. Pastaj mund të përdorni menunë rënës Knit (ose knit_with_parameters()) dhe të merrni mundësinë për të zgjedhur parametrat.

10 karakteristika të dobishme të R, për të cilat mund të mos jeni njohur

revealjs

revealjs është një paketë që ofron mundësinë për të krijuar prezantime të shkëlqyera HTML me kod R të integruar, navigim intuitiv dhe një menu slidi. Shkurtoret HTML lejojnë krijimin e shpejtë të një strukture të ndërlikuar slidi me stile të ndryshme. Ndërsa HTML do të funksionojë në çdo pajisje, kështu që prezantimin mund ta hapë çdo telefon, tablet ose laptop. Zbulimet mund të konfigurohen duke instaluar paketën dhe duke e thirrur atë në titullin YAML. Ja një shembull:

— title: «Eksplorimi i Kufirit tĂ« Universit tĂ« AnalitikĂ«s pĂ«r NjerĂ«zit»
author: «Keith McNulty»
output:
revealjs::revealjs_presentation:
center: yes
template: starwars.html
theme: black
date: «HR Analytics Meetup London — 18 Mars, 2019»
resource_files:
— darth.png
— deathstar.png
— hanchewy.png
— millenium.png
— r2d2-threepio.png
— starwars.html
— starwars.png
— stormtrooper.png
—

Kodi burimor i prezantimit Ă«shtĂ« i vendosur kĂ«tu, ndĂ«rsa vetĂ« <a href=«rpubs.com/keithmcnulty/hr_meetup_london‘>prezantimi — kĂ«tu.

10 karakteristika të dobishme të R, për të cilat mund të mos jeni njohur

HTML-tëg në R Shiny

Shumica e programuesve nuk i përdorin të gjitha avantazhet e etiketave HTML që ofrohen në R Shiny. E gjitha janë 110 etiketa që ofrojnë mundësinë për të krijuar një thirrje të shkurtër për funksionin HTML ose për riprodhimin e medias. Për shembull, disa kohë më parë përdora tags$audio për të riprodhuar tingullin 'fitues' që paralajmëronte përdoruesin për përfundimin e një detyre.

Paketa praise

Përdorimi i kësaj pakete është shumë i lehtë, dhe është e nevojshme për të dhënë lavdërim përdoruesit. Kjo duket e çuditshme, por ata vërtet e pëlqejnë atë.

10 karakteristika të dobishme të R, për të cilat mund të mos jeni njohur

Skillbox rekomandon:

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster