10 Izici Eziwusizo ze-R Ongase ungazi Ngazo

10 Izici Eziwusizo ze-R Ongase ungazi Ngazo

I-R igcwele imisebenzi ehlukahlukene. Ngezansi ngizonikeza eziyishumi ezithakazelisa kakhulu kuzo, abaningi abangase bangazi ngazo. Lesi sihloko savela ngemva kokuba ngithole ukuthi izindaba zami ngezinye zezici ze-R engizisebenzisayo emsebenzini wami zamukelwa ngesasasa abanye abahleli bohlelo. Uma usuwazi konke ngalokhu, ngiyaxolisa ngokukuchithela isikhathi. Ngesikhathi esifanayo, uma unokuthile ongabelana ngakho, ncoma okuthile okuwusizo kumazwana.

I-Skillbox iyancoma: Isifundo esiwusizo "Python developer".

Siyakukhumbuza: kubo bonke abafundi be-"Habr" - isaphulelo sama-ruble angu-10 lapho ubhalisa kunoma yisiphi isifundo se-Skillbox usebenzisa ikhodi yephromoshini ethi "Habr".

shintsha umsebenzi

Ngithanda ngempela switch(). Eqinisweni, isifinyezo esilungele isitatimende uma kukhethwa inani elisuselwe enanini lokunye okuhlukile. Ngithola lokhu kuwusizo ikakhulukazi uma ngibhala ikhodi edinga ukulayisha isethi ethile yedatha ngokusekelwe ekukhethweni kwangaphambilini. Isibonelo, uma unesilwane esihlukile esiqanjwe ngegama futhi ufuna ukukhetha isethi ethile yedatha kuye ngokuthi isilwane siyinja, ikati, noma unogwaja, bhala lokhu:

idatha < — read.csv(
shintsha (isilwane,
"inja" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Lesi sici sizoba usizo ezinhlelweni zokusebenza ezicwebezelayo lapho udinga ukulayisha amasethi edatha ahlukene noma amafayela emvelo kuye ngento eyodwa noma ngaphezulu yemenyu yokufaka.

Okhiye abashisayo be-RStudio

Lokhu kugebenga akukona okwe-R, kodwa okwe-RStudio IDE. Kodwa-ke, ama-hotkeys ahlala elula kakhulu, akuvumela ukuthi wonge isikhathi lapho ufaka umbhalo. Izintandokazi zami ngu-Ctrl+Shift+M we-%>% opharetha kanye no-Alt+- we-<- opharetha.

Ukuze ubuke bonke okhiye abashisayo, mane ucindezele u-Alt+Shift+K ku-RStudio.

iphakheji ye-flexdashboard

Uma udinga ukwethula ngokushesha ideshibhodi yakho e-Shiny, akukho lutho olungcono kunephakheji yedeshibhodi. Inikeza amandla okusebenza ngezinqamuleli ze-HTML, okwenza kube lula futhi kungabi nankinga ukudala amabha aseceleni, imigqa namakholomu. Kukhona nekhono lokusebenzisa ibha yesihloko, ekuvumela ukuthi uyibeke emakhasini ahlukene wohlelo lokusebenza, shiya izithonjana, izinqamuleli ku-Github, amakheli e-imeyili nokunye okuningi.

Iphakheji ikuvumela ukuthi usebenze ngaphakathi kohlaka lwe-Rmarkdown, ukuze ukwazi ukubeka zonke izinhlelo zokusebenza kufayela elilodwa le-Rmd, futhi ungazisabalalisi kumaseva ahlukene namafayela e-UI, njengoba kwenziwa, isibonelo, usebenzisa i-shinydashboard. Ngisebenzisa i-flexdashboard noma nini lapho ngidinga ukudala isibonelo esilula sedeshibhodi ngaphambi kokusebenza kokuthile okuyinkimbinkimbi. Lesi sici sikuvumela ukuthi udale i-prototype phakathi nehora.

req futhi uqinisekise imisebenzi ku-R Shiny

Ukuthuthukisa ku-R Shiny kungase kudide, ikakhulukazi uma uqhubeka nokuthola imilayezo yephutha engavamile eyenza kube nzima ukuqonda ukuthi kwenzakalani. Kodwa ngokuhamba kwesikhathi, i-Shiny iyathuthuka futhi ithuthuke, imisebenzi eminingi ivela lapha ekuvumela ukuthi uqonde imbangela yephutha. Ngakho-ke, i-req() ixazulula inkinga ngephutha "elithule", lapho ngokuvamile kungacaci ukuthi kwenzakalani. Ikuvumela ukuthi ubonise izinto ze-UI ezihlobene nezenzo zangaphambilini. Ake sichaze ngesibonelo:

output$go_button <- shiny::renderUI({

# inkinobho yokubonisa kuphela uma okokufaka kwesilwane kukhethiwe

elicwebezelayo::req(input$animal)

# inkinobho yokubonisa

shiny::actionButton("hamba",
namathisela("Ukuziphatha", okokufaka$isilwane, "ukuhlaziya!")
)
})

validate() ihlola yonke into ngaphambi kokunikezela futhi ikunikeza inketho yokuphrinta umlayezo wephutha - isibonelo, ukuthi umsebenzisi ulayishe ifayela elingalungile:

# thola ifayela lokufaka le-csv

inFile < — input$file1
idatha < — inFile$datapath

# nikeza ithebula kuphela uma kuyizinja

elicwebezelayo::renderTable({
# hlola ukuthi yifayela lezinja, hhayi amakati noma onogwaja
cwebezela::qinisekisa(
isidingo("Igama Lenja" %in% colnames(data)),
“Ikholomu Yegama Lenja ayitholakali — ingabe ulayishe ifayela elifanele?”
)

idatha
})

Ulwazi olwengeziwe mayelana nazo zonke lezi zici ingatholakala lapha.

Ukuzigcinela imininingwane yakho endaweni yesistimu

Uma uhlela ukwabelana ngekhodi edinga ukuthi ufake imininingwane, sebenzisa indawo yesistimu ukuze ugweme ukusingatha izifakazelo zakho ku-Github noma enye isevisi. Isibonelo sokubekwa:

I-Sys.setenv(
DSN = "database_name",
UID = "I-ID yomsebenzisi",
PASS = "Iphasiwedi"
)

Manje ungangena usebenzisa okuguquguqukayo kwemvelo:

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

Kulula nakakhulu (ikakhulukazi uma usebenzisa idatha njalo) ukuze uwamise njengeziguquguqukayo zendawo ngqo ohlelweni lokusebenza. Kulokhu, azohlala etholakala futhi ngeke kudingeke uwacacise kukhodi.

Hlela ngokuzenzakalelayo nge-styler

Iphakheji le-styler lingakusiza ukuthi uhlanze ikhodi yakho; inezinketho eziningi zokuletha ngokuzenzakalelayo isitayela sekhodi sibe yizinto ezihlelekile. Odinga ukukwenza nje ukusebenzisa styler::style_file() kusikripthi sakho esiyinkinga. Iphakheji izokwenza okuningi (kodwa hhayi konke) ukubuyisela ukuhleleka.

I-Parameterizing Amadokhumenti e-R Markdown

Ngakho-ke udale idokhumenti enhle ye-R Markdown lapho uhlaziya khona amaqiniso ahlukahlukene mayelana nezinja. Futhi-ke kwenzeka kuwe ukuthi kungaba ngcono ukwenza umsebenzi ofanayo, kodwa ngamakati kuphela. Akunankinga, ungenza ngokuzenzakalelayo ukudalwa kwemibiko yekati ngomyalo owodwa nje. Ukuze wenze lokhu, udinga kuphela ukulinganisa idokhumenti yakho yokumaka u-R.

Ungakwenza lokhu ngokusetha amapharamitha enhlokweni ye-YAML kudokhumenti eshiwo, bese usetha imingcele yenani.

— isihloko: “Ukuhlaziywa Kwezilwane”
umbhali: "Keith McNulty"
usuku: "21 March 2019"
okukhiphayo:
html_document:
code_folding: "fihla"
amapharamitha:
igama_lesilwane:
inani: Inja
ukukhetha:
—Inja
-Ikati
- Unogwaja
iminyaka_yokufunda:
okokufaka: isilayidi
imiz: 2000
ubuningi: 2019
isinyathelo: 1
umzungezo: 1
sep: "
inani: [2010, 2017] -

Manje usungakwazi ukubhalisa zonke izinto eziguquguqukayo kukhodi yedokhumenti njenge-params$animal_name kanye nama-params$years_of_study. Bese sizosebenzisa imenyu yokudonsela phansi kwe-Knit (noma i-knit_with_parameters()) futhi sikwazi ukukhetha amapharamitha.

10 Izici Eziwusizo ze-R Ongase ungazi Ngazo

vezajs

i-reveivejs iyiphakheji ekuvumela ukuthi udale izethulo ezinhle ze-HTML ezinekhodi engu-R eyakhelwe ngaphakathi, ukuzulazula okunembile namamenyu wamaslayidi. Izinqamuleli ze-HTML zikuvumela ukuthi udale ngokushesha isakhiwo samaslayidi esinezinketho ezahlukene zesitayela. Nokho, i-HTML izosebenza kunoma iyiphi idivayisi, ngakho isethulo singavulwa kuwo wonke amafoni, ithebhulethi noma ikhompyutha ephathekayo. Ukudalulwa kolwazi kungalungiselelwa ngokufaka iphakheji bese uyibiza ngesihloko se-YAML. Nasi isibonelo:

— isihloko: “Ukuveza Umphetho Wendawo Yokuhlaziya Yabantu”
umbhali: "Keith McNulty"
okukhiphayo:
manifestjs::revealjs_presentation:
isikhungo: yebo
isifanekiso:starwars.html
indaba ephathwayo: emnyama
usuku: "HR Analytics Meetup London - 18 March, 2019"
resource_files:
- darth.png
- deathstar.png
- hanchewy.png
- millennium.png
- r2d2-threepio.png
-starwars.html
-starwars.png
-i-stormtrooper.png
-

Ikhodi yomthombo wephrezentheshini okuthunyelwe lapha, kanye nayerpubs.com/keithmcnulty/hr_meetup_london'>isethulo - lapha.

10 Izici Eziwusizo ze-R Ongase ungazi Ngazo

Amathegi e-HTML ku-R Shiny

Abahleli bohlelo abaningi abawasebenzisi ngokugcwele omaka be-HTML u-R Shiny anabo. Kodwa lawa amathegi ayi-110 kuphela, okwenza kube nokwenzeka ukudala ucingo olufushane lomsebenzi we-HTML noma ukudlalwa kwemidiya. Isibonelo, muva nje ngisebenzise ama-tags$audio ukuze ngidlale umsindo "wokunqoba" owazisa umsebenzisi uma umsebenzi usuqediwe.

Iphakethe lokudumisa

Ukusebenzisa le phakheji kulula kakhulu, kodwa kuyadingeka ukubonisa udumo kumsebenzisi. Kubonakala kungavamile, kodwa empeleni bayayithanda.

10 Izici Eziwusizo ze-R Ongase ungazi Ngazo

I-Skillbox iyancoma:

Source: www.habr.com

Engeza amazwana