10 Nuttige R-funksjes dy't jo miskien net witte

10 Nuttige R-funksjes dy't jo miskien net witte

R is fol mei in ferskaat oan funksjes. Hjirûnder sil ik tsien fan 'e meast nijsgjirrige fan har jaan, wêrfan in protte miskien net witte. It artikel ferskynde nei't ik ûntduts dat myn ferhalen oer guon fan 'e funksjes fan R dy't ik yn myn wurk brûke entûsjast waarden ûntfongen troch oare programmeurs. As jo ​​hjir al alles oer witte, dan ferûntskuldigje ik my foar it fergriemen fan jo tiid. Tagelyk, as jo wat hawwe om te dielen, advisearje dan wat nuttich yn 'e opmerkings.

Skillbox advisearret: Praktyske kursus "Python ûntwikkelder".

Wy herinnerje: foar alle lêzers fan "Habr" - in koarting fan 10 roebel by it ynskriuwen fan in Skillbox-kursus mei de promoasjekoade "Habr".

switch funksje

Ik echt, echt leuk switch (). Yn feite is it in handige koarting foar in as statement by it selektearjen fan in wearde basearre op de wearde fan in oare fariabele. Ik fyn dit benammen nuttich as ik skriuw koade dy't in spesifike set fan gegevens moat laden basearre op in eardere seleksje. As jo ​​​​bygelyks in fariabele hawwe mei de namme dier en jo wolle in spesifike set gegevens selektearje ôfhinklik fan oft it bist in hûn, in kat of in konijn is, skriuw dan dit:

data < — read.csv(
switch (dier,
"dog" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Dizze funksje sil nuttich wêze yn Shiny-applikaasjes wêr't jo ferskate datasets as omjouwingsbestannen moatte laden moatte ôfhinklik fan ien of mear ynputmenu-items.

Fluchtoetsen foar RStudio

Dizze hack is net sasear foar R, mar foar RStudio IDE. Dochs binne fluchtoetsen altyd heul handich, wêrtroch jo tiid kinne besparje by it ynfieren fan tekst. Myn favoriten binne Ctrl+Shift+M foar de %>% operator en Alt+- foar de <- operator.

Om alle fluchtoetsen te besjen, druk gewoan op Alt + Shift + K yn RStudio.

flexdashboard pakket

As jo ​​​​jo Shiny dashboard fluch moatte starte, is d'r neat better dan it dashboardpakket. It biedt de mooglikheid om te wurkjen mei HTML-fluchtoetsen, dy't op har beurt it maklik en probleemfrij meitsje om sydbalken, rigen en kolommen te meitsjen. D'r is ek de mooglikheid om in titelbalke te brûken, wêrtroch jo it op ferskate siden fan 'e applikaasje kinne pleatse, ikoanen litte, fluchtoetsen op Github, e-mailadressen en folle mear.

It pakket kinne jo wurkje binnen it ramt fan Rmarkdown, sadat jo pleatse alle applikaasjes yn ien Rmd triem, en net fersprieden se oer ferskate tsjinners en UI triemmen, sa't wurdt dien, bygelyks, mei help fan shinydashboard. Ik brûk flexdashboard as ik in ienfâldich dashboardprototype moat meitsje foardat ik oan iets komplekss wurkje. Mei dizze funksje kinne jo binnen in oere in prototype meitsje.

req en falidearje funksjes yn R Shiny

Ûntwikkeljen yn R Shiny kin betiizjend wêze, foaral as jo hieltyd frjemde flaterberjochten krije dy't it dreech meitsje om te begripen wat der bart. Mar yn 'e rin fan' e tiid, Shiny ûntwikkelet en ferbetteret, hjir ferskine mear en mear funksjes dy't jo de oarsaak fan 'e flater kinne begripe. Dat, req () lost it probleem op mei in "stille" flater, as it oer it algemien net dúdlik is wat der bart. It lit jo UI-eleminten werjaan dy't ferbûn binne mei eardere aksjes. Litte wy útlizze mei in foarbyld:

output$go_button < — shiny::renderUI({

# allinich werjaanknop as in dierynput is keazen

shiny::req(ynput$dier)

# werjaan knop

shiny::actionButton("go",
paste("Gedrach", input$dier, "analyze!")
)
})

validate () kontrolearret alles foar it werjaan en jout jo de opsje om in flaterberjocht te printsjen - bygelyks dat de brûker it ferkearde bestân uploade:

# krije csv-ynfierbestân

inFile < — input$file1
data < — inFile$datapath

# render tabel allinich as it hûnen binne

shiny::renderTable({
# kontrolearje dat it it hûnebestân is, net katten of konijnen
shiny::validearje(
need("Dog Name" %in% colnames(data)),
"Kolommen hûnnamme net fûn - hawwe jo it juste bestân laden?"
)

data
})

Mear ynformaasje oer al dizze funksjes kinne jo hjir fine.

It opslaan fan jo bewiisbrieven foar josels yn 'e systeemomjouwing

As jo ​​fan plan binne om koade te dielen dy't jo fereasket om bewiisbrieven yn te fieren, brûk dan de systeemomjouwing om foar te kommen hosting fan jo eigen bewiisbrieven op Github of in oare tsjinst. Foarbyld fan pleatsing:

Sys.setenv(
DSN = "database_name",
UID = "User ID",
PASS = "Wachtwurd"
)

No kinne jo oanmelde mei omjouwingsfariabelen:

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

It is noch handiger (benammen as jo de gegevens faak brûke) om se as omjouwingsfariabelen direkt yn it bestjoeringssysteem yn te stellen. Yn dit gefal sille se altyd beskikber wêze en jo hoege se net yn 'e koade op te jaan.

Automatisearje tidyverse mei styler

It stylerpakket kin jo helpe om jo koade op te romjen; it hat in protte opsjes foar it automatysk bringen fan de koadestyl yn 'e tiid. Alles wat jo hoege te dwaan is styler :: style_file () út te fieren op jo problematysk skript. It pakket sil in protte (mar net alles) dwaan om oarder te herstellen.

Parameterizing R Markdown Documents

Dat jo hawwe in geweldich R Markdown-dokumint makke wêryn jo ferskate feiten oer hûnen analysearje. En dan komt it yn jin op dat it better wêze soe om itselde wurk te dwaan, mar allinich mei katten. Gjin probleem, jo ​​kinne it oanmeitsjen fan kattenrapporten automatisearje mei mar ien kommando. Om dit te dwaan hoege jo allinich jo R-markdown-dokumint te parameterisearjen.

Jo kinne dit dwaan troch parameters yn te stellen foar de YAML-koptekst yn it oantsjutte dokumint, en dan de weardeparameters yn te stellen.

- titel: "Dieranalyse"
Auteur: "Keith McNulty"
datum: "21 maart 2019"
output:
html_dokumint:
code_folding: "ferbergje"
params:
diernamme:
wearde: Dog
karren:
-Hûn
-Kat
- Konyn
jierren_fan_stúdzje:
input: slider
myn: 2000
maksimum: 2019
stap: 1
omt: 1
sep: "
wearde: [2010, 2017] —

No kinne jo alle fariabelen yn 'e dokumintkoade registrearje as params$animal_name en params$years_of_study. Dan sille wy brûke it útklapmenu Knit (of knit_with_parameters ()) en kinne parameters selektearje.

10 Nuttige R-funksjes dy't jo miskien net witte

revealjs

revealjs is in pakket wêrmei jo in meitsje grutte HTML presintaasjes mei ynboude R-koade, yntuïtive navigaasje en slide menu's. HTML fluchtoetsen kinne jo fluch meitsje in nested slide struktuer mei ferskillende styling opsjes. No, HTML sil op elk apparaat rinne, sadat de presintaasje op elke tillefoan, tablet of laptop kin wurde iepene. It iepenbierjen fan ynformaasje kin wurde konfigureare troch it pakket te ynstallearjen en it te neamen yn 'e YAML-header. Hjir is in foarbyld:

- titel: "De râne fan it People Analytics Universe ûntdekke"
Auteur: "Keith McNulty"
output:
revealjs::revealjs_presentation:
sintrum: jo
sjabloan: starwars.html
tema: swart
datum: "HR Analytics Meetup Londen - 18 maart, 2019"
boarne_bestannen:
- darth.png
- deathstar.png
- hanchewy.png
- millennium.png
- r2d2-threepio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Presintaasje boarne koade pleatst hjir, en harselsrpubs.com/keithmcnulty/hr_meetup_london'>presintaasje - hjir.

10 Nuttige R-funksjes dy't jo miskien net witte

HTML-tags yn R Shiny

De measte programmeurs profitearje net folslein fan 'e HTML-tags dy't R Shiny hat. Mar dit binne mar 110 tags, dy't it mooglik meitsje om in koarte oprop te meitsjen foar in HTML-funksje of media-ôfspieljen. Bygelyks, ik haw koartlyn tags $ audio brûkt om in "oerwinning" lûd te spyljen dat de brûker warskôge doe't in taak foltôge wie.

Lofpakket

It brûken fan dit pakket is heul ienfâldich, mar it is nedich om lof te werjaan oan 'e brûker. It liket nuver, mar se eins like it.

10 Nuttige R-funksjes dy't jo miskien net witte

Skillbox advisearret:

Boarne: www.habr.com

Add a comment