I-10 yeempawu ze-R onokuthi ungayazi

I-10 yeempawu ze-R onokuthi ungayazi

R izele yimisebenzi eyahlukeneyo. Ngezantsi ndiza kunika ishumi lezona zinto zinomdla kuzo, abaninzi abangazi ngazo. Eli nqaku lavela emva kokuba ndifumanise ukuba amabali am malunga nezinye zeempawu zikaR endizisebenzisayo kumsebenzi wam amkelwe ngehlombe ngabanye abadwelisi benkqubo. Ukuba sele uyazi yonke into ngale nto, ndicela uxolo ngokukuchithela ixesha. Ngexesha elifanayo, ukuba unento yokwabelana ngayo, cebisa into eluncedo kwizimvo.

I-Skillbox iyacebisa: Ikhosi esebenzayo "Umphuhlisi wePython".

Siyakhumbuza: kubo bonke abafundi be "Habr" - isaphulelo se-ruble ye-10 xa ubhalisa kuyo nayiphi na ikhosi ye-Skillbox usebenzisa ikhowudi yokuphromotha "Habr".

tshintsha umsebenzi

Ngokwenene, ndithanda kakhulu switch(). Enyanisweni, sisishunqulelo esifanelekileyo se-if statement xa ukhetha ixabiso elisekelwe kwixabiso lolunye uhlobo. Ndifumana oku kuluncedo ngakumbi xa ndibhala ikhowudi efuna ukulayisha iseti ethile yedatha ngokusekelwe kukhetho lwangaphambili. Umzekelo, ukuba unesilwanyana esinegama lesilwanyana kwaye ufuna ukukhetha uluhlu oluthile lwedatha ngokuxhomekeke ekubeni isilwanyana siyinja, yikati, okanye umvundla, bhala oku:

idatha <- read.csv(
utshintsho (isilwanyana,
"inja" = "dogdata.csv",
"ikati" = "catdata.csv",
"umvundla" = "rabbitdata.csv")
)

Olu phawu luya kuba luncedo kwizicelo ezicwebezelayo apho ufuna ukulayisha iiseti zedatha ezahlukeneyo okanye iifayile zokusingqongileyo kuxhomekeke kwinto enye okanye ngaphezulu kwemenyu yegalelo.

Iihotkey zeRStudio

Olu hack alukho kangako kwi-R, kodwa lwe-RStudio IDE. Nangona kunjalo, iihotkeys zihlala zilungile, zikuvumela ukuba ugcine ixesha xa ufaka umbhalo. Endizithandayo ngu Ctrl+Shift+M ye%>% yomsebenzisi kunye ne-Alt+- ye- <- umsebenzisi.

Ukujonga onke amaqhosha ashushu, cofa ngokulula uAlt+Shift+K kwi-RStudio.

iphakheji ye-flexdashboard

Xa ufuna ukuqalisa ngokukhawuleza ideshibhodi yakho eShiny, akukho nto ingcono kunepakethe yedeshibhodi. Inika amandla okusebenza ngeendlela ezimfutshane ze-HTML, nto leyo eyenza kube lula kwaye ingabinangxaki ukwenza iibar, imiqolo kunye neentsika. Kukwakho ukukwazi ukusebenzisa ibha yesihloko, ekuvumela ukuba uyibeke kumaphepha ahlukeneyo esicelo, shiya ii-icon, iindlela ezimfutshane kwi-Github, iidilesi ze-imeyile kunye nokunye okuninzi.

Iphakheji ikuvumela ukuba usebenze ngaphakathi kwesakhelo se-Rmarkdown, ukuze ukwazi ukubeka zonke izicelo kwifayile enye ye-Rmd, kwaye ungazisasazi kwiiseva ezahlukeneyo kunye neefayile ze-UI, njengoko kwenziwa, umzekelo, usebenzisa i-shinydashboard. Ndisebenzisa i-flexdashboard ngalo lonke ixesha ndifuna ukwenza iprototype yedeshbhodi elula ngaphambi kokuba ndisebenze kwinto entsonkothileyo. Eli nqaku likuvumela ukuba wenze iprototype kwiyure enye.

req kwaye uqinisekise imisebenzi kwi-R Shiny

Ukuphuhlisa kwi-R Shiny kunokubhida, ngakumbi xa uhlala ufumana imiyalezo yempazamo engaqhelekanga eyenza kube nzima ukuqonda ukuba kuqhubeka ntoni. Kodwa ekuhambeni kwexesha, i-Shiny iphuhlisa kwaye iphucule, imisebenzi emininzi ibonakala apha ekuvumela ukuba uqonde unobangela wempazamo. Ke, req() isombulula ingxaki ngempazamo "ethuleyo", xa ingacaci ukuba kuqhubeka ntoni. Ikuvumela ukuba ubonise izinto ze-UI ezinxulumene nezenzo zangaphambili. Makhe sichaze ngomzekelo:

output$go_iqhosha <- shiny::renderUI({

# iqhosha lokubonisa kuphela ukuba igalelo lesilwanyana likhethiwe

khazimla::req(igalelo$isilwanyana)

# iqhosha lokubonisa

Shiny::Iqhosha lesenzo("hamba",
ncamathelisa("Ukuziphatha", igalelo$isilwanyana, "uhlalutyo!")
)
})

Qinisekisa () ijonga yonke into phambi kokunikezelwa kwaye ikunika ukhetho lokuprinta umyalezo wemposiso-umzekelo, ukuba umsebenzisi ulayishe ifayile engalunganga:

# fumana ifayile yokufaka i-csv

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

# nikeza itafile kuphela ukuba zizinja

khazimla::renderTable({
# khangela ukuba yifayile yenja, hayi iikati okanye imivundla
khazimla::qinisekisa(
isidingo("Igama Lenja" % kwi% colnames(data)),
"Ikholamu yeGama leNja ayifumanekanga - ngaba ulayishe ifayile elungileyo?"
)

idata
})

Ulwazi oluninzi malunga nazo zonke ezi mpawu ingafumaneka apha.

Ukugcina iziqinisekiso zakho kwindawo yenkqubo

Ukuba uceba ukwabelana ngekhowudi efuna ukuba ufake iziqinisekiso, sebenzisa imeko yenkqubo ukunqanda ukubamba iziqinisekiso zakho kwiGithub okanye enye inkonzo. Umzekelo wokubekwa:

Sys.setenv(
DSN = "database_name",
UID = "Isazisi soMsebenzisi",
PASS = "Igama lokugqithisa"
)

Ngoku ungangena usebenzisa izinto eziguquguqukayo zokusingqongileyo:

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

Kulunge ngakumbi (ingakumbi ukuba usebenzisa idata rhoqo) ukuseta njengezinto eziguquguqukayo zokusingqongileyo ngokuthe ngqo kwinkqubo yokusebenza. Kule meko, ziya kuhlala zikhona kwaye akuyi kufuneka uzichaze kwikhowudi.

I-automate tidyverse kunye nesimboli

Iphakheji yesitayile inokukunceda ucoce ikhowudi yakho; ineenketho ezininzi zokuzisa ngokuzenzekelayo isitayile sekhowudi kwindawo ecocekileyo. Okufuneka ukwenze kukuqhuba isitayile::style_file() kwiskripthi sakho esinengxaki. Iphakheji iya kwenza okuninzi (kodwa kungekhona yonke into) ukubuyisela umyalelo.

Parameterizing R Markdown Documents

Ke wenze uxwebhu olukhulu lwe-R Markdown apho uhlalutya iinyani ezahlukeneyo malunga nezinja. Kwaye ke kwenzeka kuwe ukuba kuya kuba ngcono ukwenza umsebenzi ofanayo, kodwa kuphela ngeekati. Akukho ngxaki, unokwenza ngokuzenzekelayo ukudalwa kweengxelo zekati ngomyalelo nje omnye. Ukwenza oku, udinga kuphela ukwenza iparameterize uxwebhu lwakho lokuphawula lwe-R.

Ungakwenza oku ngokucwangcisa iiparamitha zeheader yeYAML kuxwebhu olukhankanyiweyo, kwaye ngoku ucwangcisa ixabiso leparameters.

— isihloko: “Uhlahlelo lwezilwanyana”
umbhali: "Keith McNulty"
Umhla: "21 Matshi 2019"
Iziphumo:
html_document:
ukusonga ikhowudi: "fihla"
iiparams:
igama_lesilwanyana:
ixabiso: Inja
ukhetho:
—Inja
—Ikati
- Umvundla
iminyaka_yesifundo:
igalelo: isilayidi
umz: 2000
ubuninzi: 2019
Inyathelo: 1
umjikelo: 1
sep: "
ixabiso: [2010, 2017] -

Ngoku ungabhalisa zonke iinguqu kwikhowudi yoxwebhu njengeparams$animal_name kunye neparams$years_of_study. Emva koko siza kusebenzisa i-Knit dropdown menu (okanye knit_with_parameters()) kwaye sikwazi ukukhetha iiparamitha.

I-10 yeempawu ze-R onokuthi ungayazi

tyhilajs

utyhilejs yimpahla ekuvumela ukuba wenze iiprizentezo ze HTML ezinkulu ngekhowudi engu-R eyakhelwe-ngaphakathi, ukukhangela okucacileyo kunye neemenyu zesilayidi. Iindlela ezimfutshane ze-HTML zikuvumela ukuba udale ngokukhawuleza isakhiwo sesilayidi esinendlwana eneenketho ezahlukeneyo zesitayile. Ewe, i-HTML iya kusebenza kuso nasiphi na isixhobo, ngoko unikezelo lunokuvulwa kwifowuni nganye, ithebhulethi okanye ilaptop. Ukubhengezwa kolwazi kungacwangciswa ngokufaka ipakethe kwaye uyibize ngeheda ye-YAML. Nanku umzekelo:

-isihloko: "Ukubonisa uMda weNdawo yoHlalutyo lwabantu"
umbhali: "Keith McNulty"
Iziphumo:
reflectjs::revealjs_presentation:
iziko: ewe
ithempleyithi:starwars.html
umxholo: mnyama
umhla: "HR Analytics Meetup London - 18 Matshi, 2019"
izixhobo_iifayile:
— darth.png
- deathstar.png
- hanchewy.png
- millennium.png
- r2d2-threepio.png
-starwars.html
-starwars.png
-stormtrooper.png
-

Ikhowudi yomthombo wenkcazo iposwe apha, kunye nayerpubs.com/keithmcnulty/hr_meetup_london'>umboniso - apha.

I-10 yeempawu ze-R onokuthi ungayazi

Iithegi ze-HTML kwi-R Shiny

Uninzi lwabadwelisi benkqubo abazithathi ngokupheleleyo iithegi zeHTML anazo uR Shiny. Kodwa ezi ziithegi ezili-110 kuphela, ezenza kube lula ukwenza umnxeba omfutshane womsebenzi we-HTML okanye ukudlalwa kwemidiya. Umzekelo, ndisanda kusebenzisa i-tags$audio ukudlala isandi "soloyiso" esilumkisa umsebenzisi xa umsebenzi ugqityiwe.

Ipakethe indumiso

Ukusebenzisa le phakheji kulula kakhulu, kodwa kuyafuneka ukubonisa indumiso kumsebenzisi. Kubonakala kungaqhelekanga, kodwa ngokwenene bayayithanda.

I-10 yeempawu ze-R onokuthi ungayazi

I-Skillbox iyacebisa:

umthombo: www.habr.com

Yongeza izimvo