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.
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
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?"
)
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:
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.
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.
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
-
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.