10 korisnih R značajki za koje možda niste znali

10 korisnih R značajki za koje možda niste znali

R je pun raznih funkcija. U nastavku ću navesti deset najzanimljivijih od njih, za koje mnogi možda ne znaju. Članak se pojavio nakon što sam otkrio da su moje priče o nekim značajkama R-a koje koristim u svom radu bile oduševljeno primljene od strane kolega programera. Ako već znate sve o ovome, ispričavam se što vam gubim vrijeme. U isto vrijeme, ako imate nešto za podijeliti, preporučite nešto korisno u komentarima.

Skillbox preporučuje: Praktični tečaj "Python programer".

Podsjećamo: za sve čitatelje "Habra" - popust od 10 000 rubalja pri upisu na bilo koji tečaj Skillbox koristeći promotivni kod "Habr".

funkcija prekidača

Jako, jako volim switch(). Zapravo, to je zgodna skraćenica za naredbu if pri odabiru vrijednosti na temelju vrijednosti druge varijable. Smatram da je ovo posebno korisno kada pišem kod koji treba učitati određeni skup podataka na temelju prethodnog odabira. Na primjer, ako imate varijablu pod nazivom životinja i želite odabrati određeni skup podataka ovisno o tome je li životinja pas, mačka ili zec, napišite ovo:

podaci < — pročitaj.csv(
prekidač (životinja,
"pas" = "podaci psa.csv",
"cat" = "catdata.csv",
"zec" = "podaci o zecu.csv")
)

Ova će značajka biti korisna u aplikacijama Shiny gdje morate učitati različite skupove podataka ili datoteke okruženja ovisno o jednoj ili više stavki izbornika za unos.

Prečice za RStudio

Ovaj hack nije toliko za R, već za RStudio IDE. Međutim, prečaci su uvijek vrlo praktični, omogućujući vam uštedu vremena prilikom unosa teksta. Moji favoriti su Ctrl+Shift+M za %>% operator i Alt+- za <- operator.

Za prikaz svih tipki prečaca jednostavno pritisnite Alt+Shift+K u RStudiu.

paket flexdashboard

Kada trebate brzo pokrenuti svoju Shiny nadzornu ploču, nema ništa bolje od paketa nadzorne ploče. Pruža mogućnost rada s HTML prečacima, što zauzvrat čini lakim i bez muke stvaranje bočnih traka, redaka i stupaca. Tu je i mogućnost korištenja naslovne trake, koja vam omogućuje da ga postavite na različite stranice aplikacije, ostavite ikone, prečace na Githubu, adrese e-pošte i još mnogo toga.

Paket vam omogućuje rad u okviru Rmarkdown-a, tako da sve aplikacije možete smjestiti u jednu Rmd datoteku, a ne distribuirati ih na različite poslužitelje i UI datoteke, kao što je to učinjeno, na primjer, pomoću shinydashboard-a. Koristim flexdashboard kad god trebam izraditi jednostavan prototip nadzorne ploče prije rada na nečem složenom. Ova vam značajka omogućuje izradu prototipa unutar sat vremena.

req i validate funkcije u R Shiny

Razvijanje u R Shinyju može biti zbunjujuće, pogotovo kada stalno dobivate čudne poruke o pogrešci zbog kojih je teško razumjeti što se događa. Ali s vremenom se Shiny razvija i poboljšava, ovdje se pojavljuje sve više i više funkcija koje vam omogućuju razumijevanje uzroka pogreške. Dakle, req() rješava problem s "tihom" greškom, kada općenito nije jasno što se događa. Omogućuje vam prikaz elemenata korisničkog sučelja povezanih s prethodnim radnjama. Objasnimo na primjeru:

output$go_button < — shiny::renderUI({

# gumb za prikaz samo ako je odabran unos za životinje

shiny::req(input$animal)

# gumb za prikaz

shiny::actionButton("kreni",
paste("Provođenje", input$animal, "analiza!")
)
})

validate() provjerava sve prije renderiranja i daje vam opciju da ispišete poruku o pogrešci - na primjer, da je korisnik učitao pogrešnu datoteku:

# dobiti csv ulaznu datoteku

inFile < — input$file1
podaci < — inFile$datapath

# prikazi tablicu samo ako se radi o psima

shiny::renderTable({
# provjerite je li to datoteka psa, a ne mačke ili zeca
sjajan::potvrdi(
need("Ime psa" %in%colnames(data)),
"Stupac imena psa nije pronađen - jeste li učitali pravu datoteku?"
)

datum
})

Više informacija o svim ovim značajkama možete pronaći ovdje.

Pohranjivanje vjerodajnica za sebe u okruženju sustava

Ako planirate dijeliti kod koji od vas zahtijeva unos vjerodajnica, upotrijebite okruženje sustava kako biste izbjegli hostiranje vlastitih vjerodajnica na Githubu ili nekoj drugoj usluzi. Primjer postavljanja:

Sys.setenv(
DSN = "naziv_baze podataka",
UID = "ID korisnika",
PASS = "lozinka"
)

Sada se možete prijaviti pomoću varijabli okruženja:

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

Još je praktičnije (osobito ako često koristite podatke) postaviti ih kao varijable okoline izravno u operacijskom sustavu. U tom će slučaju uvijek biti dostupni i nećete ih morati navoditi u kodu.

Automatizirajte tidyverse pomoću stylera

Paket styler vam može pomoći u čišćenju koda; ima mnogo opcija za automatsko dovođenje stila koda u tidyverse. Sve što trebate učiniti je pokrenuti styler::style_file() na vašoj problematičnoj skripti. Paket će učiniti mnogo (ali ne sve) da uspostavi red.

Parametriranje R Markdown dokumenata

Dakle, napravili ste sjajan R Markdown dokument u kojem analizirate razne činjenice o psima. I onda vam padne na pamet da bi bilo bolje raditi isti posao, ali samo s mačkama. Nema problema, možete automatizirati stvaranje cat izvješća sa samo jednom naredbom. Da biste to učinili, trebate samo parametrirati svoj R markdown dokument.

To možete učiniti postavljanjem parametara za YAML zaglavlje u navedenom dokumentu, a zatim postavljanjem parametara vrijednosti.

— naslov: “Analiza na životinjama”
autor: "Keith McNulty"
datum: "21. ožujka 2019."
izlaz:
html_dokument:
code_folding: "sakrij"
parametri:
ime_životinje:
vrijednost: Pas
izbori:
-Pas
-Mačka
— Zec
godine_studija:
ulaz: klizač
min.: 2000
najviše: 2019
korak 1
kolo: 1
ruj: "
vrijednost: [2010, 2017] —

Sada možete registrirati sve varijable u kodu dokumenta kao params$animal_name i params$years_of_study. Zatim ćemo upotrijebiti padajući izbornik Knit (ili knit_with_parameters()) i moći ćemo odabrati parametre.

10 korisnih R značajki za koje možda niste znali

otkrivajs

discoverjs je paket koji vam omogućuje stvaranje sjajnih HTML prezentacija s ugrađenim R kodom, intuitivnom navigacijom i slajd izbornicima. HTML prečaci omogućuju vam da brzo stvorite ugniježđenu strukturu slajdova s ​​različitim opcijama oblikovanja. Pa, HTML će se pokrenuti na bilo kojem uređaju, tako da se prezentacija može otvoriti na svakom telefonu, tabletu ili prijenosnom računalu. Otkrivanje informacija može se konfigurirati instaliranjem paketa i njegovim pozivanjem u YAML zaglavlju. Evo primjera:

— naslov: “Istraživanje ruba svemira analize ljudi”
autor: "Keith McNulty"
izlaz:
otkrivajs::otkrivajs_prezentacija:
centar: da
predložak:starwars.html
tema: crna
datum: “HR Analytics Meetup London – 18. ožujka 2019.”
datoteke_resursa:
— darth.png
- zvijezda smrti.png
- hanchewy.png
- tisućljeće.png
- r2d2-threepio.png
-zvjezdani ratovi.html
—zvjezdani ratovi.png
—stormtrooper.png
-

Izvorni kod prezentacije objavljeno ovdje, i seberpubs.com/keithmcnulty/hr_meetup_london'>prezentacija - ovdje.

10 korisnih R značajki za koje možda niste znali

HTML oznake u R Shinyju

Većina programera ne iskorištava u potpunosti prednosti HTML oznaka koje ima R Shiny. Ali ovo je samo 110 oznaka, koje omogućuju stvaranje kratkog poziva za HTML funkciju ili reprodukciju medija. Na primjer, nedavno sam upotrijebio tags$audio za reprodukciju "pobjedničkog" zvuka koji je upozorio korisnika kada je zadatak dovršen.

Paket pohvale

Korištenje ovog paketa je vrlo jednostavno, ali je potrebno da se korisniku prikaže pohvala. Čini se čudno, ali zapravo im se sviđa.

10 korisnih R značajki za koje možda niste znali

Skillbox preporučuje:

Izvor: www.habr.com

Dodajte komentar