10 Inobatsira R Zvimiro Zvaungasaziva Nezvazvo

10 Inobatsira R Zvimiro Zvaungasaziva Nezvazvo

R izere nemhando dzakasiyana dzemabasa. Pazasi ini ndichapa gumi ezvinonyanya kunakidza kwavari, izvo vazhinji vangasaziva nezvazvo. Chinyorwa chakaonekwa mushure mekunge ndaona kuti nyaya dzangu nezve zvimwe zvezvinhu zveR izvo zvandinoshandisa mubasa rangu zvakagamuchirwa nechido nevamwe vanogadzira zvirongwa. Kana iwe uchitoziva zvese nezve izvi, saka ndinokumbira ruregerero nekutambisa nguva yako. Panguva imwecheteyo, kana iwe uine chimwe chinhu chekugovera, kurudzira chimwe chinhu chinobatsira mumashoko.

Skillbox inokurudzira: Nzira inoshanda "Python developer".

Tinoyeuchidza: kune vese vaverengi veHabr - a 10 ruble mutengo paunenge uchinyoresa mune chero Skillbox kosi uchishandisa iyo Habr promo kodhi.

chinja basa

Ini chaizvo, ndinoda chaizvo switch (). Muchokwadi, iri nyore shorthand kune kana chirevo kana uchisarudza kukosha kunoenderana nekukosha kweimwe shanduko. Ini ndinoona izvi zvichinyanya kubatsira pandinenge ndichinyora kodhi inoda kurodha yakatarwa seti yedata zvichienderana nesarudzo yapfuura. Semuyenzaniso, kana uine chinosiyana chinonzi mhuka uye uchida kusarudza imwe seti yedata zvichienderana nekuti mhuka iyi imbwa, katsi, kana tsuro, nyora izvi:

data <- read.csv(
chinja (mhuka,
"imbwa" = "dogdata.csv",
"katsi" = "catdata.csv",
"tsuro" = "rabbitdata.csv")
)

Iyi ficha ichave inobatsira muShiny maapplication apo iwe unofanirwa kurodha akasiyana data seti kana nharaunda mafaera zvichienderana nechinhu chimwe kana anopfuura ekuisa menyu zvinhu.

Hotkeys yeRStudio

Iyi hack haina kunyanya kuR, asi yeRStudio IDE. Nekudaro, hotkeys anogara ari nyore, anokutendera iwe kuchengetedza nguva paunopinda mameseji. Zvandinoda Ctrl+Shift+M ye %>% mushandisi uye Alt+- ye <- mushandisi.

Kuti uone mahotkey ese, ingo dzvanya Alt+Shift+K muRStudio.

flexdashboard package

Paunenge uchida kukurumidza kuvhura yako Shiny dashboard, hapana chinhu chiri nani pane dashboard package. Inopa kugona kushanda neHTML mapfupi, ayo anozoita kuti zvive nyore uye zvisina kunetsekana kugadzira mativi, mitsara uye makoramu. Kune zvakare kugona kushandisa zita rezita, iro rinokutendera kuti uiise pamapeji akasiyana echishandiso, siya zvidhori, mapfupi paGithub, email kero uye zvimwe zvakawanda.

Iyo pasuru inokubvumira kuti ushande mukati meiyo Rmarkdown dhizaini, kuti iwe ugone kuisa ese maapplication mune imwe Rmd faira, uye kwete kuaparadzira kune akasiyana maseva uye UI mafaera, sezvakaitwa, semuenzaniso, uchishandisa shinydashboard. Ini ndinoshandisa flexdashboard pese pandinenge ndichida kugadzira iri nyore dashboard prototype ndisati ndashanda pane chimwe chinhu chakaoma. Iyi ficha inobvumidza iwe kugadzira prototype mukati meawa.

req uye simbisa mabasa muR Shiny

Kugadzira muR Shiny kunogona kuvhiringa, kunyanya kana iwe uchiramba uchiwana zvisinganzwisisike mhosho mameseji anoita kuti zviome kunzwisisa zviri kuitika. Asi nekufamba kwenguva, Shiny inovandudza uye inovandudza, mabasa akawanda uye akawanda anooneka pano anokubvumira kuti unzwisise chikonzero chekukanganisa. Saka, req () inogadzirisa dambudziko ne "chinyararire" chikanganiso, kana zvisiri pachena zviri kuitika. Iyo inokutendera iwe kuti uratidze maUI zvinhu zvine chekuita nezviito zvekare. Ngatitsanangure nemuenzaniso:

output$go_button <- shiny::renderUI({

# bhatani rekuratidza chete kana mhuka yekupinda yasarudzwa

inopenya ::req(inoisa $mhuka)

# kuratidza bhatani

shiny::actionButton("enda",
paste("Maitiro", kuisa $mhuka, "kuongorora!")
)
})

validate () inotarisa zvese isati yapa uye inokupa sarudzo yekudhinda meseji yekukanganisa - semuenzaniso, kuti mushandisi akaisa faira risiri iro:

# tora csv yekupinza faira

inFile <- input$file1
data <- inFile$datapath

# render tafura chete kana dziri imbwa

inopenya ::renderTable({
# tarisa kuti imbwa faira kwete katsi kana tsuro
kupenya :: simbisa (
kuda ("Imbwa Zita"% mu% colnames(data)),
"Imbwa Zita column haina kuwanikwa - wakaisa faira rekurudyi here?"
)

dhata
})

Ruzivo rwakawanda nezvese maficha aya inogona kuwanikwa pano.

Kuzvichengetera zvitupa zvako munzvimbo yesystem

Kana iwe ukaronga kugovera kodhi inoda kuti iwe uise zvitupa, shandisa iyo system nharaunda kuti udzivise kubata yako wega zvitupa paGithub kana imwe sevhisi. Muenzaniso kuiswa:

Sys.setenv(
DSN = "database_name",
UID = "Mushandisi ID",
PASS = "Password"
)

Iye zvino unogona kupinda uchishandisa nharaunda siyana:

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

Izvo zvakatonyanya nyore (kunyanya kana iwe ukashandisa iyo data kazhinji) kuigadzika seyakasarudzika nharaunda zvakanangana neiyo inoshanda sisitimu. Muchiitiko ichi, ivo vanozogara varipo uye haufanirwe kutsanangura ivo mukodhi.

Automate tidyverse ne styler

Iyo styler package inogona kukubatsira kuchenesa kodhi yako; ine zvakawanda zvingasarudzwa zvekuunza otomatiki iyo kodhi dhizaini mune yakarongeka. Zvese zvaunoda kuti uite kumhanyisa styler ::style_file() pane yako dambudziko script. Iyo package ichaita zvakawanda (asi kwete zvese) kudzoreredza kurongeka.

Parameterizing R Markdown Zvinyorwa

Saka iwe wakagadzira yakakura R Markdown gwaro umo iwe unoongorora akasiyana chokwadi nezve imbwa. Uye zvino zvinoitika kwauri kuti zvingava nani kuita basa rimwe chete, asi chete nekatsi. Hapana dambudziko, iwe unogona otomatiki kugadzirwa kwekatsi mishumo nemurairo mumwe chete. Kuti uite izvi, iwe unongoda parameterize yako R markdown gwaro.

Iwe unogona kuita izvi nekuisa ma parameter eiyo YAML musoro mugwaro rakataurwa, uye wozoisa kukosha paramita.

β€” musoro: β€œAnimal Analysis”
munyori: "Keith McNulty"
zuva: "21 Kurume 2019"
chibereko:
html_document:
code_folding: "viga"
params:
mhuka_zita:
kukosha: Imbwa
sarudzo:
β€”Imbwa
β€”Katsi
β€” Tsuro
makore_e_kudzidza:
kupinza: mutserendende
min: 2000
hukuru:2019
nhanho: 1
kutenderera: 1
sep: "
kukosha: [2010, 2017] -

Iye zvino unogona kunyoresa ese akasiyana mugwaro kodhi separams$animal_name uye params$years_of_study. Ipapo isu tichashandisa iyo Knit yekudonhedza menyu (kana knit_with_parameters()) uye tokwanisa kusarudza paramita.

10 Inobatsira R Zvimiro Zvaungasaziva Nezvazvo

reflectjs

displayjs ipakiti inokubvumira kuti ugadzire mharidzo huru yeHTML ine yakavakirwa-muR kodhi, intuitive navigation uye masiraidhi menyu. HTML mapfupi anotendera iwe kukurumidza kugadzira iyo nested slide chimiro chine akasiyana masitayipi sarudzo. Zvakanaka, HTML inomhanya pane chero mudziyo, saka mharidzo inogona kuvhurwa pafoni yese, piritsi kana laptop. Kuburitswa kweruzivo kunogona kugadzirwa nekuisa pasuru uye kuidaidza mumusoro weYAML. Heino muenzaniso:

- zita: "Kuburitsa Muganho wePeople Analytics Universe"
munyori: "Keith McNulty"
chibereko:
revealjs::revealjs_presentation:
centre: hongu
template:starwars.html
dingindira: dema
zuva: "HR Analytics Meetup London - 18 Kurume, 2019"
resource_files:
- darth.png
- deathstar.png
- hanchewy.png
- millennium.png
- r2d2-threepio.png
-starwars.html
-starwars.png
-stormtrooper.png
-

Presentation source code yakatumirwa pano, uye pachakerpubs.com/keithmcnulty/hr_meetup_london'> mharidzo - pano.

10 Inobatsira R Zvimiro Zvaungasaziva Nezvazvo

HTML tags muR Shiny

Vazhinji vanogadzira mapurogiramu havatore mukana wakakwana weHTML tag iyo R Shiny inayo. Asi aya angori ma tag zana negumi chete, anoita kuti zvikwanise kugadzira kufona kupfupi kweHTML basa kana midhiya yekutamba. Semuenzaniso, ini nguva pfupi yadarika ndakashandisa tags$odhiyo kuridza "kukunda" ruzha rwakazivisa mushandisi kana basa rapera.

Rumbidzai pasuru

Kushandisa pasuru iyi kuri nyore, asi kunodiwa kuratidza kurumbidza kumushandisi. Zvinoita sezvisinganzwisisiki, asi ivo vanozvifarira chaizvo.

10 Inobatsira R Zvimiro Zvaungasaziva Nezvazvo

Skillbox inokurudzira:

Source: www.habr.com

Voeg