10 Nodwedd R Defnyddiol Efallai Na Fyddech Yn Gwybod Amdanynt

10 Nodwedd R Defnyddiol Efallai Na Fyddech Yn Gwybod Amdanynt

Mae R yn llawn amrywiaeth o swyddogaethau. Isod byddaf yn rhoi deg o'r rhai mwyaf diddorol ohonynt, efallai nad yw llawer yn gwybod amdanynt. Ymddangosodd yr erthygl ar ôl i mi ddarganfod bod fy straeon am rai o nodweddion R a ddefnyddiaf yn fy ngwaith wedi cael croeso brwd gan gyd-raglenwyr. Os ydych chi eisoes yn gwybod popeth am hyn, yna ymddiheuraf am wastraffu eich amser. Ar yr un pryd, os oes gennych rywbeth i'w rannu, argymhellwch rywbeth defnyddiol yn y sylwadau.

Mae Skillsbox yn argymell: Cwrs ymarferol "Datblygwr Python".

Rydym yn atgoffa: i holl ddarllenwyr "Habr" - gostyngiad o 10 rubles wrth gofrestru ar unrhyw gwrs Skillbox gan ddefnyddio'r cod hyrwyddo "Habr".

swyddogaeth switsh

Rwy'n hoff iawn o switsh (). Mewn gwirionedd, mae'n llaw fer gyfleus ar gyfer datganiad if wrth ddewis gwerth yn seiliedig ar werth newidyn arall. Mae hyn yn arbennig o ddefnyddiol i mi pan fyddaf yn ysgrifennu cod sydd angen llwytho set benodol o ddata yn seiliedig ar ddetholiad blaenorol. Er enghraifft, os oes gennych anifail a enwir amrywiol a’ch bod am ddewis set benodol o ddata yn dibynnu a yw’r anifail yn gi, yn gath neu’n gwningen, ysgrifennwch hwn:

data < — darllen.csv(
switsh (anifail,
"ci" = "dogdata.csv",
"cat" = "catdata.csv",
"cwningen" = "rabbitdata.csv")
)

Bydd y nodwedd hon yn ddefnyddiol mewn cymwysiadau Shiny lle mae angen i chi lwytho gwahanol setiau data neu ffeiliau amgylchedd yn dibynnu ar un neu fwy o eitemau dewislen mewnbwn.

Allweddi poeth ar gyfer RStudio

Nid yw'r darnia hwn yn gymaint ar gyfer R, ond ar gyfer RStudio IDE. Fodd bynnag, mae hotkeys bob amser yn gyfleus iawn, sy'n eich galluogi i arbed amser wrth fewnbynnu testun. Fy ffefrynnau yw Ctrl+Shift+M ar gyfer y gweithredwr %>% ac Alt+- ar gyfer y gweithredwr <-.

I weld yr holl allweddi poeth, pwyswch Alt+Shift+K yn RStudio.

pecyn fflecsfwrdd

Pan fydd angen i chi lansio'ch dangosfwrdd Shiny yn gyflym, does dim byd gwell na'r pecyn dangosfwrdd. Mae'n darparu'r gallu i weithio gyda llwybrau byr HTML, sydd yn ei dro yn ei gwneud hi'n hawdd ac yn ddi-drafferth i greu bariau ochr, rhesi a cholofnau. Mae yna hefyd y gallu i ddefnyddio bar teitl, sy'n caniatáu ichi ei osod ar wahanol dudalennau'r rhaglen, gadael eiconau, llwybrau byr ar Github, cyfeiriadau e-bost a llawer mwy.

Mae'r pecyn yn caniatáu ichi weithio o fewn fframwaith Rmarkdown, felly gallwch chi osod pob cais mewn un ffeil Rmd, a pheidio â'u dosbarthu ar draws gwahanol weinyddion a ffeiliau UI, fel y gwneir, er enghraifft, gan ddefnyddio shinydashboard. Rwy'n defnyddio fflecsfwrdd pryd bynnag y bydd angen i mi greu prototeip dangosfwrdd syml cyn gweithio ar rywbeth cymhleth. Mae'r nodwedd hon yn caniatáu ichi greu prototeip o fewn awr.

req a dilysu swyddogaethau yn R Shiny

Gall datblygu yn R Shiny fod yn ddryslyd, yn enwedig pan fyddwch chi'n dal i gael negeseuon gwall rhyfedd sy'n ei gwneud hi'n anodd deall beth sy'n digwydd. Ond dros amser, mae Shiny yn datblygu ac yn gwella, mae mwy a mwy o swyddogaethau'n ymddangos yma sy'n eich galluogi i ddeall achos y gwall. Felly, mae req() yn datrys y broblem gyda gwall “tawel”, pan nad yw'n glir yn gyffredinol beth sy'n digwydd. Mae'n caniatáu ichi arddangos elfennau UI sy'n gysylltiedig â chamau gweithredu blaenorol. Gadewch i ni egluro gydag enghraifft:

botwm allbwn $go_ < - sgleiniog :: renderUI({

# botwm arddangos dim ond os yw mewnbwn anifail wedi'i ddewis

sgleiniog::req(mewnbwn$anifail)

# botwm arddangos

sgleiniog ::actionButton ("ewch",
past("Cynnal", mewnbwn$anifail, "dadansoddiad!")
)
})

Mae validate() yn gwirio popeth cyn ei rendro ac yn rhoi'r opsiwn i chi argraffu neges gwall - er enghraifft, bod y defnyddiwr wedi uwchlwytho'r ffeil anghywir:

# cael ffeil mewnbwn csv

inFile < — mewnbwn$file1
data < — inFile$datapath

# bwrdd rendrad dim ond os mai cŵn ydyw

sgleiniog::renderTable({
# gwiriwch mai ffeil y ci ydyw, nid cathod na chwningod
sgleiniog :: dilysu (
angen ("Enw Ci" % yn % colnames(data)),
“Ni chanfuwyd colofn Enw Ci - a wnaethoch chi lwytho'r ffeil gywir?”
)

data
})

Mwy o wybodaeth am yr holl nodweddion hyn i'w gweld yma.

Storio'ch tystlythyrau i chi'ch hun yn amgylchedd y system

Os ydych chi'n bwriadu rhannu cod sy'n gofyn ichi nodi tystlythyrau, defnyddiwch amgylchedd y system i osgoi cynnal eich tystlythyrau eich hun ar Github neu wasanaeth arall. Lleoliad enghreifftiol:

Sys.setenv(
DSN = "data_name",
UID = "ID Defnyddiwr",
PASS = "Cyfrinair"
)

Nawr gallwch chi fewngofnodi gan ddefnyddio newidynnau amgylchedd:

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

Mae hyd yn oed yn fwy cyfleus (yn enwedig os ydych chi'n defnyddio'r data'n aml) i'w gosod fel newidynnau amgylchedd yn uniongyrchol yn y system weithredu. Yn yr achos hwn, byddant bob amser ar gael ac ni fydd yn rhaid i chi eu nodi yn y cod.

Awtomeiddio pennill taclus gyda steilydd

Gall y pecyn steiliwr eich helpu i lanhau'ch cod; mae ganddo lawer o opsiynau ar gyfer dod ag arddull y cod yn daclus yn awtomatig. Y cyfan sydd angen i chi ei wneud yw rhedeg styler:: style_file() ar eich sgript problemus. Bydd y pecyn yn gwneud llawer (ond nid popeth) i adfer trefn.

Parameterizing R Markdown Dogfennau

Felly rydych chi wedi creu dogfen R Markdown wych lle rydych chi'n dadansoddi ffeithiau amrywiol am gŵn. Ac yna mae'n digwydd i chi y byddai'n well gwneud yr un gwaith, ond dim ond gyda chathod. Dim problem, gallwch chi awtomeiddio creu adroddiadau cathod gydag un gorchymyn yn unig. I wneud hyn, dim ond eich dogfen marcio R i lawr sydd angen i chi ei baramedru.

Gallwch wneud hyn trwy osod paramedrau ar gyfer y pennawd YAML yn y ddogfen benodedig, ac yna gosod y paramedrau gwerth.

— teitl: “Dadansoddiad Anifeiliaid”
awdur: "Keith McNulty"
dyddiad: "21 Mawrth 2019"
allbwn:
html_dogfen:
code_folding: "cuddio"
paramau:
enw_anifail:
gwerth: Ci
dewisiadau:
—Ci
—Cath
—Cwningen
mlynedd_o_astudio:
mewnbwn: slider
lleiaf: 2000
uchafswm: 2019
Cam 1
crwn: 1
medi: "
gwerth: [2010, 2017] —

Nawr gallwch chi gofrestru'r holl newidynnau yng nghod y ddogfen fel params$animal_name a params$years_of_study. Yna byddwn yn defnyddio'r gwymplen Knit (neu knit_with_parameters()) ac yn gallu dewis paramedrau.

10 Nodwedd R Defnyddiol Efallai Na Fyddech Yn Gwybod Amdanynt

datgelujs

Mae revelationjs yn becyn sy'n eich galluogi i greu cyflwyniadau HTML gwych gyda chod R adeiledig, llywio greddfol a bwydlenni sleidiau. Mae llwybrau byr HTML yn caniatáu ichi greu strwythur sleidiau nythu yn gyflym gyda gwahanol opsiynau steilio. Wel, bydd HTML yn rhedeg ar unrhyw ddyfais, felly gellir agor y cyflwyniad ar bob ffôn, tabled neu liniadur. Gellir ffurfweddu datgeliad gwybodaeth trwy osod y pecyn a'i alw ym mhennyn YAML. Dyma enghraifft:

— teitl: “Archwilio Ymyl y Bydysawd Dadansoddol Pobl”
awdur: "Keith McNulty"
allbwn:
revelationjs::revealjs_presentation:
canol: oes
templed:starwars.html
thema: du
dyddiad: “HR Analytics Meetup London – 18 Mawrth, 2019”
ffeiliau_adnodd:
— darth.png
- deathstar.png
- hanchewy.png
- mileniwm.png
- r2d2-threepio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Cod ffynhonnell cyflwyniad postio yma, a hi ei hunrpubs.com/keithmcnulty/hr_meetup_london'>cyflwyniad - yma.

10 Nodwedd R Defnyddiol Efallai Na Fyddech Yn Gwybod Amdanynt

Tagiau HTML yn R Shiny

Nid yw'r rhan fwyaf o raglenwyr yn manteisio'n llawn ar y tagiau HTML sydd gan R Shiny. Ond dim ond 110 o dagiau yw'r rhain, sy'n ei gwneud hi'n bosibl creu galwad fer am swyddogaeth HTML neu chwarae cyfryngau. Er enghraifft, yn ddiweddar defnyddiais dagiau $audio i chwarae sain "buddugoliaeth" a oedd yn rhybuddio'r defnyddiwr pan gwblhawyd tasg.

Pecyn canmoliaeth

Mae defnyddio'r pecyn hwn yn syml iawn, ond mae ei angen i ddangos canmoliaeth i'r defnyddiwr. Mae'n ymddangos yn rhyfedd, ond maen nhw'n ei hoffi mewn gwirionedd.

10 Nodwedd R Defnyddiol Efallai Na Fyddech Yn Gwybod Amdanynt

Mae Skillsbox yn argymell:

Ffynhonnell: hab.com

Ychwanegu sylw