10 uporabnih funkcij R, za katere morda niste vedeli

10 uporabnih funkcij R, za katere morda niste vedeli

R je poln različnih funkcij. Spodaj bom navedel deset najbolj zanimivih med njimi, za katere mnogi morda ne vedo. Članek se je pojavil po tem, ko sem odkril, da so moje zgodbe o nekaterih funkcijah R-ja, ki jih uporabljam pri svojem delu, kolegi programerji sprejeli z navdušenjem. Če o tem že vse veste, se opravičujem za izgubo časa. Hkrati, če imate kaj deliti, priporočite nekaj koristnega v komentarjih.

Skillbox priporoča: Praktični tečaj "Python razvijalec".

Spomnimo: za vse bralce "Habr" - popust v višini 10 rubljev ob vpisu v kateri koli tečaj Skillbox s promocijsko kodo "Habr".

funkcija stikala

Res, zelo mi je všeč switch(). Pravzaprav je priročna okrajšava za stavek if pri izbiri vrednosti na podlagi vrednosti druge spremenljivke. To se mi zdi še posebej uporabno, ko pišem kodo, ki mora naložiti določen nabor podatkov na podlagi prejšnje izbire. Na primer, če imate spremenljivko z imenom žival in želite izbrati določen nabor podatkov glede na to, ali je žival pes, mačka ali zajec, napišite tole:

podatki < — read.csv(
stikalo (žival,
"pes" = "dogdata.csv",
"cat" = "catdata.csv",
"zajec" = "podatki o zajcu.csv")
)

Ta funkcija bo uporabna v aplikacijah Shiny, kjer morate naložiti različne nize podatkov ali okoljske datoteke, odvisno od enega ali več elementov vnosnega menija.

Bližnjice za RStudio

Ta kramp ni toliko za R, temveč za RStudio IDE. Vendar so bližnjične tipke vedno zelo priročne, saj vam omogočajo prihranek časa pri vnosu besedila. Moji najljubši sta Ctrl+Shift+M za operator %>% in Alt+- za operator <-.

Če si želite ogledati vse bližnjične tipke, preprosto pritisnite Alt+Shift+K v programu RStudio.

paket flexdashboard

Ko morate hitro zagnati nadzorno ploščo Shiny, ni nič boljšega od paketa nadzorne plošče. Zagotavlja možnost dela z bližnjicami HTML, kar posledično olajša ustvarjanje stranskih vrstic, vrstic in stolpcev brez težav. Obstaja tudi možnost uporabe naslovne vrstice, ki vam omogoča, da jo postavite na različne strani aplikacije, pustite ikone, bližnjice na Githubu, e-poštne naslove in še veliko več.

Paket vam omogoča delo v okviru Rmarkdown, tako da lahko vse aplikacije postavite v eno datoteko Rmd in jih ne razdelite po različnih strežnikih in datotekah uporabniškega vmesnika, kot je to storjeno na primer z uporabo shinydashboard. Uporabljam flexdashboard, kadar moram ustvariti preprost prototip nadzorne plošče, preden delam na nečem zapletenem. Ta funkcija vam omogoča, da ustvarite prototip v eni uri.

funkciji req in validation v R Shiny

Razvijanje v R Shiny je lahko zmedeno, zlasti če nenehno prejemate čudna sporočila o napakah, zaradi katerih je težko razumeti, kaj se dogaja. Toda sčasoma se Shiny razvija in izboljšuje, tukaj se pojavlja vedno več funkcij, ki vam omogočajo razumevanje vzroka napake. Torej, req() reši problem s "tiho" napako, ko na splošno ni jasno, kaj se dogaja. Omogoča vam prikaz elementov uporabniškega vmesnika, povezanih s prejšnjimi dejanji. Razložimo s primerom:

output$go_button < — shiny::renderUI({

# Gumb za prikaz samo, če je bil izbran vnos živali

shiny::req(input$animal)

# gumb za prikaz

shiny::actionButton("pojdi",
paste("Vedenje", input$animal, "analiza!")
)
})

validate() preveri vse pred upodabljanjem in vam ponudi možnost tiskanja sporočila o napaki – na primer, da je uporabnik naložil napačno datoteko:

# pridobi vhodno datoteko csv

inFile < — input$file1
podatki < — inFile$datapath

# upodobi tabelo samo, če so psi

shiny::renderTable({
# preverite, ali gre za pasjo datoteko, ne za mačke ali zajce
sijoč::preverjanje(
need("Ime psa" %in%colnames(data)),
»Stolpec z imenom psa ni bil najden — ste naložili pravo datoteko?«
)

datum
})

Več informacij o vseh teh funkcijah lahko najdete tukaj.

Shranjevanje poverilnic zase v sistemskem okolju

Če nameravate deliti kodo, ki zahteva vnos poverilnic, uporabite sistemsko okolje, da se izognete gostovanju lastnih poverilnic na Githubu ali drugi storitvi. Primer postavitve:

Sys.setenv(
DSN = "ime_baze_podatkov",
UID = "ID uporabnika",
PASS = "Geslo"
)

Zdaj se lahko prijavite s spremenljivkami okolja:

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

Še bolj priročno je (še posebej, če podatke uporabljate pogosto), če jih nastavite kot spremenljivke okolja neposredno v operacijskem sistemu. V tem primeru bodo vedno na voljo in vam jih ne bo treba navesti v kodi.

Avtomatizirajte tidyverse s stylerjem

Paket styler vam lahko pomaga očistiti vašo kodo; ima veliko možnosti za samodejno prenašanje sloga kode v tidyverse. Vse kar morate storiti je, da zaženete styler::style_file() na svojem problematičnem skriptu. Paket bo naredil veliko (vendar ne vse) za vzpostavitev reda.

Parametriranje dokumentov R Markdown

Torej ste ustvarili odličen dokument R Markdown, v katerem analizirate različna dejstva o psih. In takrat ti pride na misel, da bi bilo bolje opravljati isto delo, a le z mačkami. Ni problema, ustvarjanje mačjih poročil lahko avtomatizirate s samo enim ukazom. Če želite to narediti, morate le parametrizirati vaš R markdown dokument.

To lahko storite tako, da v podanem dokumentu nastavite parametre za glavo YAML in nato nastavite parametre vrednosti.

— naslov: »Analiza živali«
avtor: "Keith McNulty"
datum: "21. marec 2019"
izhod:
html_dokument:
code_folding: "skrij"
parametri:
ime_živali:
vrednost: pes
izbire:
—Pes
-Mačka
- Zajec
leta_študija:
vnos: drsnik
min: 2000
največ: 2019
korak 1
krog: 1
sep: "
vrednost: [2010, 2017] —

Zdaj lahko registrirate vse spremenljivke v kodi dokumenta kot params$animal_name in params$years_of_study. Nato bomo uporabili spustni meni Knit (ali knit_with_parameters()) in lahko izbrali parametre.

10 uporabnih funkcij R, za katere morda niste vedeli

razkrivajs

discoverjs je paket, ki vam omogoča ustvarjanje odličnih predstavitev HTML z vgrajeno kodo R, intuitivno navigacijo in diapozitivnimi meniji. Bližnjice HTML vam omogočajo hitro ustvarjanje ugnezdene strukture diapozitivov z različnimi možnostmi oblikovanja. No, HTML se bo izvajal na kateri koli napravi, tako da lahko predstavitev odprete na vsakem telefonu, tablici ali prenosniku. Razkritje informacij je mogoče konfigurirati tako, da namestite paket in ga pokličete v glavi YAML. Tukaj je primer:

— naslov: »Razkrivanje vesolja analize ljudi«
avtor: "Keith McNulty"
izhod:
odkrijejs::odkrije_predstavitev:
center: da
predloga:starwars.html
tema: črna
datum: »HR Analytics Meetup London – 18. marec 2019«
vir_datoteke:
— darth.png
- deathstar.png
- hanchewy.png
- tisočletje.png
- r2d2-threepio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Izvorna koda predstavitve objavljeno tukaj, in seberpubs.com/keithmcnulty/hr_meetup_london'>predstavitev - tukaj.

10 uporabnih funkcij R, za katere morda niste vedeli

Oznake HTML v R Shiny

Večina programerjev ne izkorišča v celoti prednosti oznak HTML, ki jih ima R Shiny. Toda to je le 110 oznak, ki omogočajo ustvarjanje kratkega klica za funkcijo HTML ali predvajanje medijev. Na primer, nedavno sem uporabil tags$audio za predvajanje zvoka "zmage", ki je uporabnika opozoril, ko je bila naloga končana.

Paket pohval

Uporaba tega paketa je zelo preprosta, vendar je potrebna za prikaz pohvale uporabniku. Zdi se čudno, a jim je pravzaprav všeč.

10 uporabnih funkcij R, za katere morda niste vedeli

Skillbox priporoča:

Vir: www.habr.com

Dodaj komentar