Ezagutzen ez dituzun 10 R ezaugarri erabilgarriak

Ezagutzen ez dituzun 10 R ezaugarri erabilgarriak

R hainbat funtzioz beteta dago. Jarraian, horietako hamar interesgarrienak emango ditut, agian askok ezagutzen ez dituztenak. Artikulua nire lanean erabiltzen ditudan R-ren ezaugarri batzuei buruzko nire istorioak ikaskide programatzaileek gogotsu hartu zituztela deskubritu ondoren agertu zen. Honi buruz dena ezagutzen baduzu, barkamena eskatzen dizut denbora galtzeagatik. Aldi berean, partekatzeko zerbait baduzu, gomendatu zerbait erabilgarria iruzkinetan.

Skillbox-ek gomendatzen du: Ikastaro praktikoa "Python garatzailea".

Gogoratzen dugu: "Habr" irakurle guztientzat - 10 errubloko deskontua "Habr" promozio-kodea erabiliz Skillbox-eko edozein ikastarotan izena ematean.

aldatzeko funtzioa

Asko gustatzen zait switch(). Izan ere, if adierazpen baterako laburdura erosoa da beste aldagai baten balioan oinarritutako balio bat hautatzen denean. Hau bereziki erabilgarria iruditzen zait aurreko hautapen batean oinarritutako datu multzo zehatz bat kargatu behar duen kodea idazten dudanean. Adibidez, animalia izeneko aldagai bat baduzu eta datu multzo zehatz bat hautatu nahi baduzu, animalia txakurra, katua edo untxia den, idatzi hau:

datuak < β€” read.csv(
aldatu(animalia,
"dog" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Ezaugarri hau erabilgarria izango da aplikazio distiratsuetan, non datu multzo edo ingurune fitxategi desberdinak kargatu behar dituzun sarrerako menuko elementu baten edo gehiagoren arabera.

RStudiorako laster teklak

Hack hau ez da hainbeste Rrentzat, RStudio IDErentzat baizik. Hala ere, laster teklak oso erosoak dira beti, testua sartzerakoan denbora aurrezteko aukera ematen baitute. Nire gogokoenak Ctrl+Shift+M dira %>% eragilearentzat eta Alt+- <- eragilearentzat.

Laster-tekla guztiak ikusteko, sakatu Alt+Maius+K RStudio-n.

flexdashboard paketea

Zure Arbel distiratsua azkar abiarazi behar duzunean, ez dago aginte-paketea baino hoberik. HTML lasterbideekin lan egiteko gaitasuna eskaintzen du, eta, aldi berean, alboko barrak, errenkadak eta zutabeak sortzea erraz eta arazorik gabe egiten du. Izenburu-barra erabiltzeko aukera ere badago, eta horri esker, aplikazioaren orrialde ezberdinetan jartzeko, ikonoak utzi, Github-en lasterbideak, helbide elektronikoak eta askoz gehiago.

Paketeak Rmarkdown-en esparruan lan egiteko aukera ematen dizu, beraz, aplikazio guztiak Rmd fitxategi batean jar ditzakezu eta ez zerbitzari eta UI fitxategi ezberdinetan banatu, adibidez, shinydashboard erabiliz. Flexdashboard erabiltzen dut arbel-prototipo sinple bat sortu behar dudan guztietan zerbait konplexuan lan egin aurretik. Ezaugarri honek ordubeteko epean prototipo bat sortzeko aukera ematen du.

eskatu eta balioztatu funtzioak R Shiny-n

R Shiny-n garatzea nahasia izan daiteke, batez ere gertatzen ari dena ulertzea zailtzen duten errore-mezu arraroak jasotzen dituzunean. Baina denborarekin, Shiny garatzen eta hobetzen doa, gero eta funtzio gehiago agertzen dira hemen akatsaren zergatia ulertzeko aukera ematen dutenak. Beraz, req()-ek arazoa "isila" errore batekin konpontzen du, orokorrean zer gertatzen den argi ez dagoenean. Aurreko ekintzekin lotutako UI elementuak bistaratzeko aukera ematen du. Azal dezagun adibide batekin:

irteera$go_button < β€” shiny::renderUI({

# bakarrik bistaratu botoia animalien sarrera bat aukeratu bada

distiratsua::req(sarrera$animalia)

# bistaratzeko botoia

shiny::actionButton("joan",
itsatsi("Jokabidea", sarrera$animalia, "analisia!")
)
})

validate()-k dena egiaztatzen du errendatu aurretik eta errore-mezu bat inprimatzeko aukera ematen dizu; adibidez, erabiltzaileak fitxategi okerra kargatu duela:

# lortu csv sarrera fitxategia

inFile < β€” input$file1
datuak < β€” inFile$datapath

# Errendatu taula txakurrak badira bakarrik

shiny::renderTable({
# egiaztatu txakurren fitxategia dela, ez katuak edo untxiak
distiratsua::validate(
need("Txakurren izena" %in% colnames(datuak)),
"Ez da aurkitu Txakurren izenaren zutabea - fitxategi egokia kargatu al duzu?"
)

datuak
})

Ezaugarri horiei guztiei buruzko informazio gehiago hemen aurki daiteke.

Zure kredentzialak gordetzea sistemaren ingurunean

Kredentzialak sartzea eskatzen dizun kodea partekatzeko asmoa baduzu, erabili sistema-ingurunea zure kredentzialak Github-en edo beste zerbitzu batean ez ostatatzeko. Kokapen adibidea:

Sys.setenv(
DSN = "database_izena",
UID = "Erabiltzaile ID",
PASS = "Pasahitza"
)

Orain ingurune-aldagaiak erabiliz saioa hasi dezakezu:

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

Are erosoagoa da (batez ere datuak maiz erabiltzen badituzu) ingurune-aldagai gisa ezartzea zuzenean sistema eragilean. Kasu honetan, beti egongo dira eskuragarri eta ez dituzu kodean zehaztu beharrik izango.

Automatizatu tidyverse styler-ekin

Styler paketeak zure kodea garbitzen lagun zaitzake; aukera asko ditu kodearen estiloa tidyversera automatikoki ekartzeko. Egin behar duzun guztia styler::style_file() exekutatu da zure script problematikoan. Paketeak asko (baina ez dena) egingo du ordena berrezartzeko.

R Markdown dokumentuak parametrizatzea

Beraz, R Markdown dokumentu bikaina sortu duzu eta bertan txakurrei buruzko hainbat datu aztertzen dituzun. Eta orduan bururatzen zaizu hobe litzatekeela lan bera egitea, baina katuekin bakarrik. Ez dago arazorik, katuaren txostenak sortzea automatiza dezakezu komando bakarrarekin. Horretarako, zure R markdown dokumentua parametrizatu besterik ez duzu behar.

Hori egin dezakezu zehaztutako dokumentuan YAML goibururako parametroak ezarriz eta, ondoren, balio-parametroak ezarriz.

β€” Izenburua: "Animalien analisia"
egilea: "Keith McNulty"
data: "21ko martxoaren 2019a"
irteera:
html_dokumentua:
code_folding: "ezkutatu"
parametroak:
animalia_izena:
balioa: Txakurra
aukerak:
β€”Txakurra
β€”Katua
β€” Untxia
ikasketa_urteak:
sarrera: graduatzailea
min: 2000
gehienez: 2019
urratsa: 1
txanda: 1
sep: "
balioa: [2010, 2017] β€”

Orain dokumentuaren kodean aldagai guztiak erregistra ditzakezu params$animal_name eta params$years_of_study gisa. Ondoren Knit goitibeherako menua (edo knit_with_parameters()) erabiliko dugu eta parametroak hautatu ahal izango ditugu.

Ezagutzen ez dituzun 10 R ezaugarri erabilgarriak

agerian

revelajs HTML aurkezpen bikainak sortzeko aukera ematen duen paketea da, R kodearekin, nabigazio intuitiboarekin eta diapositiba menuekin. HTML lasterbideek diapositiba-egitura bizkor sortzeko aukera ematen dute, estilo-aukera ezberdinekin. Bada, HTML edozein gailutan exekutatuko da, beraz, aurkezpena telefono, tablet edo ordenagailu eramangarri guztietan ireki daiteke. Informazioa dibulgazioa paketea instalatu eta YAML goiburuan deituz konfigura daiteke. Hona hemen adibide bat:

β€” izenburua: "Pertsonen Analytics unibertsoaren ertza esportatzen"
egilea: "Keith McNulty"
irteera:
revelajs::revealjs_presentation:
erdigunea: bai
txantiloia:starwars.html
gaia: beltza
data: "HR Analytics Meetup London - 18ko martxoaren 2019a"
baliabide_fitxategiak:
β€” darth.png
- deathstar.png
- hanchewy.png
- milurtekoa.png
- r2d2-threepio.png
-starwars.html
β€”starwars.png
β€”stormtrooper.png
-

Aurkezpen iturburu kodea hemen argitaratua, eta berarpubs.com/keithmcnulty/hr_meetup_london'> aurkezpena - hemen.

Ezagutzen ez dituzun 10 R ezaugarri erabilgarriak

HTML etiketak R Shiny-n

Programatzaile gehienek ez dituzte aprobetxatzen R Shiny-k dituen HTML etiketak. Baina hauek 110 etiketa baino ez dira, HTML funtzio baterako edo multimedia erreprodukziorako dei labur bat sortzeko aukera ematen dutenak. Adibidez, duela gutxi tags$audio erabili dut zeregin bat amaitzen zenean erabiltzaileari abisua ematen zion "garaipen" soinua erreproduzitzeko.

Laudorio paketea

Pakete hau erabiltzea oso erraza da, baina erabiltzaileari laudorioak erakusteko beharrezkoa da. Arraroa dirudi, baina benetan gustatzen zaie.

Ezagutzen ez dituzun 10 R ezaugarri erabilgarriak

Skillbox-ek gomendatzen du:

Iturria: www.habr.com

Gehitu iruzkin berria