10 noderÄ«gas R funkcijas, par kurÄm jÅ«s, iespÄjams, nezinÄt
R ir pilns ar dažÄdÄm funkcijÄm. ZemÄk es sniegÅ”u desmit interesantÄkos no tiem, par kuriem daudzi varÄtu nezinÄt. Raksts parÄdÄ«jÄs pÄc tam, kad es atklÄju, ka citi programmÄtÄji ar entuziasmu uzÅÄma manus stÄstus par dažÄm R funkcijÄm, kuras izmantoju savÄ darbÄ. Ja jÅ«s jau zinÄt visu par Å”o, tad es atvainojos par jÅ«su laika tÄrÄÅ”anu. TajÄ paÅ”Ä laikÄ, ja ir ar ko padalÄ«ties, iesaki komentÄros ko noderÄ«gu.
Man ļoti, ļoti patÄ«k switch (). Faktiski tas ir Ärts priekÅ”raksta if saÄ«sinÄjums, izvÄloties vÄrtÄ«bu, pamatojoties uz cita mainÄ«gÄ vÄrtÄ«bu. Man tas Ŕķiet Ä«paÅ”i noderÄ«gi, rakstot kodu, kuram ir jÄielÄdÄ noteikta datu kopa, pamatojoties uz iepriekÅ”Äjo atlasi. PiemÄram, ja jums ir mainÄ«gais ar nosaukumu dzÄ«vnieks un vÄlaties atlasÄ«t konkrÄtu datu kopu atkarÄ«bÄ no tÄ, vai dzÄ«vnieks ir suns, kaÄ·is vai trusis, ierakstiet Å”o:
Å Ä« funkcija noderÄs lietojumprogrammÄs Shiny, kur jÄielÄdÄ dažÄdas datu kopas vai vides faili atkarÄ«bÄ no viena vai vairÄkiem ievades izvÄlnes vienumiem.
RStudio karstie taustiÅi
Å is uzlauzums ir paredzÄts ne tik daudz R, bet gan RStudio IDE. TomÄr karstie taustiÅi vienmÄr ir ļoti Ärti, kas ļauj ietaupÄ«t laiku, ievadot tekstu. Mani iecienÄ«tÄkie ir Ctrl+Shift+M operatoram %>% un Alt+- operatoram <-.
Lai skatÄ«tu visus karstos taustiÅus, programmÄ RStudio vienkÄrÅ”i nospiediet Alt+Shift+K.
flexdashboard pakotne
Kad nepiecieÅ”ams Ätri palaist savu Shiny informÄcijas paneli, nekas nav labÄks par informÄcijas paneļa pakotni. Tas nodroÅ”ina iespÄju strÄdÄt ar HTML Ä«sceļiem, kas savukÄrt atvieglo sÄnjoslu, rindu un kolonnu izveidi. Ir arÄ« iespÄja izmantot virsraksta joslu, kas ļauj to ievietot dažÄdÄs lietojumprogrammas lapÄs, atstÄt ikonas, saÄ«snes vietnÄ Github, e-pasta adreses un daudz ko citu.
Pakete ļauj strÄdÄt Rmarkdown ietvaros, lai jÅ«s varÄtu ievietot visas lietojumprogrammas vienÄ Rmd failÄ, nevis izplatÄ«t tÄs dažÄdos serveros un UI failos, kÄ tas tiek darÄ«ts, piemÄram, izmantojot shinydashboard. Es izmantoju flexdashboard ikreiz, kad man ir jÄizveido vienkÄrÅ”s informÄcijas paneļa prototips, pirms strÄdÄju pie kaut kÄ sarežģīta. Å Ä« funkcija ļauj stundas laikÄ izveidot prototipu.
pieprasÄ«t un apstiprinÄt funkcijas programmÄ R Shiny
R Shiny izstrÄde var bÅ«t mulsinoÅ”a, it Ä«paÅ”i, ja nepÄrtraukti saÅemat dÄ«vainus kļūdu ziÅojumus, kas apgrÅ«tina notiekoÅ”Ä izpratni. Bet laika gaitÄ Shiny attÄ«stÄs un uzlabojas, Å”eit parÄdÄs arvien vairÄk funkciju, kas ļauj saprast kļūdas cÄloni. TÄtad, req () atrisina problÄmu ar "klusu" kļūdu, kad parasti nav skaidrs, kas notiek. Tas ļauj parÄdÄ«t lietotÄja interfeisa elementus, kas saistÄ«ti ar iepriekÅ”ÄjÄm darbÄ«bÄm. Paskaidrosim ar piemÄru:
output$go_button < ā shiny::renderUI({
# tikai displeja poga, ja ir izvÄlÄta dzÄ«vnieku ievade
validate() pÄrbauda visu pirms renderÄÅ”anas un dod iespÄju izdrukÄt kļūdas ziÅojumu, piemÄram, ka lietotÄjs augÅ”upielÄdÄja nepareizu failu:
# iegūstiet csv ievades failu
inFile < ā ievade$fails1
dati < ā inFile$datapath
# renderÄt tabulu tikai tad, ja tÄ ir suÅi
spīdīgs::renderTable({
# pÄrbaudiet, vai tas ir suÅa fails, nevis kaÄ·i vai truÅ”i
spīdīgs::validate(
need("SuÅa vÄrds" %in% colnames(data)),
āSleja SuÅa vÄrda nav atrasta ā vai ielÄdÄjÄt pareizo failu?ā
)
dati
})
PlaÅ”Äka informÄcija par visÄm Ŕīm funkcijÄm var atrast Å”eit.
SaglabÄjiet savus akreditÄcijas datus sistÄmas vidÄ
Ja plÄnojat koplietot kodu, kurÄ jÄievada akreditÄcijas dati, izmantojiet sistÄmas vidi, lai izvairÄ«tos no savu akreditÄcijas datu mitinÄÅ”anas vietnÄ Github vai citÄ pakalpojumÄ. Izvietojuma piemÄrs:
VÄl ÄrtÄk (Ä«paÅ”i, ja datus izmantojat bieži) ir iestatÄ«t tos kÄ vides mainÄ«gos tieÅ”i operÄtÄjsistÄmÄ. Å ajÄ gadÄ«jumÄ tie vienmÄr bÅ«s pieejami, un jums tie nebÅ«s jÄnorÄda kodÄ.
AutomatizÄjiet tidyverse ar ieveidotÄju
VeidotÄja pakotne var palÄ«dzÄt jums iztÄ«rÄ«t kodu; tai ir daudz iespÄju, lai automÄtiski iekļautu koda stilu tidyverse. Viss, kas jums jÄdara, ir palaist styler::style_file() savÄ problemÄtiskajÄ skriptÄ. Pakete darÄ«s daudz (bet ne visu), lai atjaunotu kÄrtÄ«bu.
R atzÄ«mes dokumentu parametrizÄÅ”ana
TÄtad jÅ«s esat izveidojis lielisku R Markdown dokumentu, kurÄ analizÄjat dažÄdus faktus par suÅiem. Un tad tev ienÄk prÄtÄ, ka labÄk bÅ«tu darÄ«t to paÅ”u darbu, bet tikai ar kaÄ·iem. Nav problÄmu, jÅ«s varat automatizÄt kaÄ·u pÄrskatu izveidi tikai ar vienu komandu. Lai to izdarÄ«tu, jums tikai jÄparametizÄ R atzÄ«mes dokuments.
To var izdarÄ«t, iestatot YAML galvenes parametrus norÄdÄ«tajÄ dokumentÄ un pÄc tam iestatot vÄrtÄ«bu parametrus.
Tagad jÅ«s varat reÄ£istrÄt visus mainÄ«gos lielumus dokumenta kodÄ kÄ params$dzÄ«vnieka_nosaukums un params$years_of_study. PÄc tam izmantosim nolaižamo izvÄlni AdÄ«Å”ana (vai adÄ«t_ar_parametriem()) un varÄsim atlasÄ«t parametrus.
atklÄtjs
discoverjs ir pakotne, kas ļauj izveidot lieliskas HTML prezentÄcijas ar iebÅ«vÄtu R kodu, intuitÄ«vu navigÄciju un slaidu izvÄlnÄm. HTML Ä«sceļi ļauj Ätri izveidot ligzdotu slaidu struktÅ«ru ar dažÄdÄm stila opcijÄm. HTML darbosies jebkurÄ ierÄ«cÄ, tÄpÄc prezentÄciju var atvÄrt katrÄ tÄlrunÄ«, planÅ”etdatorÄ vai klÄpjdatorÄ. InformÄcijas atklÄÅ”anu var konfigurÄt, instalÄjot pakotni un izsaucot to YAML galvenÄ. Å eit ir piemÄrs:
LielÄkÄ daļa programmÄtÄju pilnÄ«bÄ neizmanto R Shiny piedÄvÄtos HTML tagus. Bet tie ir tikai 110 tagi, kas ļauj izveidot Ä«su izsaukumu HTML funkcijai vai multivides atskaÅoÅ”anai. PiemÄram, es nesen izmantoju tags$audio, lai atskaÅotu "uzvaras" skaÅu, kas brÄ«dinÄja lietotÄju, kad uzdevums ir pabeigts.
Uzslavas pakete
Å Ä«s pakotnes izmantoÅ”ana ir ļoti vienkÄrÅ”a, taÄu tÄ ir nepiecieÅ”ama, lai parÄdÄ«tu lietotÄjam uzslavu. Å Ä·iet dÄ«vaini, bet patiesÄ«bÄ viÅiem tas patÄ«k.