
R Àr full av alla möjliga funktioner. Nedan kommer jag att lista tio av de mest intressanta som mÄnga kanske inte kÀnner till. Den hÀr artikeln kom till efter att jag upptÀckte att mina berÀttelser om nÄgra av de R-funktioner jag anvÀnder i mitt arbete möttes med entusiasm av programmerarvÀnner. Om du redan vet allt om detta ber jag om ursÀkt för att jag slösat bort din tid. Samtidigt, om du har nÄgot att dela, vÀnligen föreslÄ nÄgot anvÀndbart i kommentarerna.
Skillbox rekommenderar: Praktisk kurs .
PÄminnelse: för alla lÀsare av "Habr" - en rabatt pÄ 10 000 rubel nÀr du anmÀler dig till nÄgon Skillbox-kurs med hjÀlp av "Habr"-kampanjkoden.
Switch funktion
Jag gillar verkligen switch(). Det Àr faktiskt en bekvÀm genvÀg till if-satsen nÀr du vÀljer ett vÀrde baserat pÄ vÀrdet av en annan variabel. Jag tycker att detta Àr sÀrskilt anvÀndbart nÀr jag skriver kod som behöver ladda en specifik uppsÀttning data enligt ett tidigare urval. Till exempel, om du har en variabel som heter djur och du vill vÀlja en specifik uppsÀttning data baserat pÄ om djuret Àr en hund, katt eller kanin, skulle du skriva det sÄ hÀr:
data < â read.csv(
switch(djur,
"hund" = "hunddata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)
Den hÀr funktionen kommer att vara anvÀndbar i Shiny-applikationer dÀr du behöver ladda olika datamÀngder eller miljöfiler beroende pÄ en eller flera inmatningsmenyalternativ.
Snabbtangenter för RStudio
Detta hack Àr inte sÄ mycket för R, utan för RStudio IDE. Snabbtangenter Àr dock alltid vÀldigt bekvÀma, vilket gör att du kan spara tid nÀr du skriver in text. Mina favoriter Àr Ctrl+Skift+M för operatorn %>% och Alt+- för operatorn <-.
För att se alla snabbtangenter, tryck helt enkelt pÄ Alt+Skift+K i RStudio.
flexdashboard-paket
NÀr du snabbt behöver starta en Shiny instrumentpanel finns det inget bÀttre Àn instrumentpanelspaketet. Det ger möjlighet att arbeta med HTML-genvÀgar, vilket i sin tur lÄter dig enkelt och sömlöst skapa sidofÀlt, rader och kolumner. Det finns ocksÄ möjligheten att anvÀnda en titelrad, sÄ att du kan placera den pÄ olika sidor i programmet, lÀmna ikoner, genvÀgar pÄ Github, e-postadresser och mycket mer.
Paketet lÄter dig arbeta inom Rmarkdown, sÄ att du kan placera alla applikationer i en Rmd-fil, istÀllet för att distribuera dem över olika servrar och UI-filer, som man till exempel gör med shinydashboard. Jag anvÀnder flexdashboard nÀr jag behöver skapa en enkel instrumentpanelprototyp innan jag börjar arbeta med nÄgot komplext. Denna funktion lÄter dig skapa en prototyp inom en timme.
begÀra och validera funktioner i R Shiny
Att utveckla i R Shiny kan vara förvirrande, sÀrskilt nÀr du hela tiden fÄr konstiga felmeddelanden som inte ger dig nÄgon aning om vad som hÀnder. Men allt eftersom tiden gÄr utvecklas och förbÀttras Shiny, och fler och fler funktioner dyker upp som gör att du kan förstÄ orsaken till felet. SÄ req() löser problemet med ett "tyst" fel, nÀr det inte alls Àr klart vad problemet Àr. Det lÄter dig visa anvÀndargrÀnssnittselement relaterade till tidigare ÄtgÀrder. LÄt oss förklara med ett exempel:
output$go_button < â shiny::renderUI({
# endast visningsknapp om en djurinmatning har valts
shiny::req(input$animal)
# displayknapp
shiny::actionButton(«go»,
paste("Conduct", input$animal, "analysis!")
)
})
validate() kontrollerar allt innan rendering och ger dig möjlighet att visa ett felmeddelande - till exempel att anvÀndaren laddade upp fel fil:
# hÀmta csv-indatafil
inFile < â input$file1
data < â inFile$datapath
# rendera tabellen endast om det Àr hundar
shiny::renderTable({
# kontrollera att det Àr hundfilen, inte katter eller kaniner
glÀnsande::validera(
need("Hundnamn" %i% kolnamn(data)),
"Dog Name-kolumnen hittades inte - laddade du in rÀtt fil?"
)
datum
})
Mer detaljerad information om alla dessa funktioner .
HÄll dina referenser privata i systemmiljön
Om du planerar att dela kod som krÀver att du anger dina referenser, anvÀnd systemmiljön för att undvika att lÀgga upp dina egna referenser till Github eller nÄgon annan tjÀnst. Exempel pÄ placering:
Sys.setenv(
DSN = "databasnamn",
UID = "AnvÀndar-ID",
PASS = "Lösenord"
)
Nu kan du logga in med miljövariabler:
db < â DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
pwd = Sys.getenv("PASS")
)
Ănnu bekvĂ€mare (speciellt om du anvĂ€nder data ofta) Ă€r att stĂ€lla in dem som miljövariabler direkt i operativsystemet. I det hĂ€r fallet kommer de alltid att vara tillgĂ€ngliga och du behöver inte ange dem i koden.
Automatisera tidyverse med styler
Stylerpaketet kan hjÀlpa dig att rensa upp din kod, eftersom det har mÄnga funktioner för att automatiskt föra in din kodstil i ordning och reda. Allt du behöver göra Àr att köra styler::style_file() pÄ ditt problematiska skript. Paketet kommer att göra mycket (men inte allt) för att ÄterstÀlla ordningen.
Parametrering av R Markdown-dokument
SÄ du har skapat ett fantastiskt R Markdown-dokument som bryter ner olika fakta om hundar. Och dÄ kommer det upp för dig att det vore bÀttre att göra samma arbete, men bara med katter. Inga problem, du kan automatisera din kattrapportering med bara ett kommando. För att göra detta behöver du bara parametrisera ditt R markdown-dokument.
Detta kan göras genom att ange parametrar för YAML-huvudet i det angivna dokumentet och sedan vÀrdeparametrarna.
â titel: "Djuranalys"
författare: "Keith McNulty"
datum: «21 mars 2019»
produktion:
html_document:
code_folding: «dölj»
params:
djurnamn:
vÀrde: Hund
val:
- Hund
- Katt
â Kanin
studieÄr:
ingÄng: reglage
min: 2000
max: 2019
steg: 1
omgÄng: 1
sep: »
vÀrde: [2010, 2017]
-
Nu kan du registrera alla variabler i dokumentkoden som params$djurnamn och params$studieÄr. Sedan anvÀnder vi rullgardinsmenyn Knit (eller knit_with_parameters()) och fÄr möjligheten att vÀlja parametrar.

avslöjar
revealjs Àr ett paket som lÄter dig skapa fantastiska HTML-presentationer med inbÀddad R-kod, intuitiv navigering och bildmenyer. HTML-genvÀgar lÄter dig snabbt skapa en kapslad struktur av bilder med olika stilalternativ. Tja, HTML kommer att köras pÄ vilken enhet som helst, sÄ presentationen kan öppnas pÄ vilken telefon, surfplatta eller bÀrbar dator som helst. InformationsutlÀmnande kan konfigureras genom att installera paketet och anropa det i YAML-huvudet. HÀr Àr ett exempel:
â titel: "Utforska kanten av People Analytics Universe"
författare: "Keith McNulty"
produktion:
revealjs::revealjs_presentation:
mitten: ja
mall: starwars.html
tema: svart
datum: "HR Analytics Meetup London â 18 mars 2019"
resursfiler:
â darth.png
â deathstar.png
â hanchewy.png
â millenium.png
â r2d2-threepio.png
â starwars.html
â starwars.png
â stormtrooper.png
-
Presentationens kÀllkod , och sig sjÀlv'>presentationen Àr hÀr.

HTML-taggar i R Shiny
De flesta programmerare drar inte full nytta av HTML-taggarna som R Shiny har att erbjuda. Men det Àr bara 110 taggar som gör det möjligt att skapa ett kort anrop till en HTML-funktion eller mediauppspelning. Till exempel anvÀnde jag nyligen tags$audio för att spela ett "seger"-ljud för att varna anvÀndaren om att en uppgift hade slutförts.
Berömpaket
Detta paket Àr mycket lÀtt att anvÀnda och behövs för att visa beröm till anvÀndaren. Det verkar konstigt, men de gillar det faktiskt.

Skillbox rekommenderar:
- TvÄÄrig praktisk kurs .
- Onlinekurs .
- Praktisk Ärskurs .
KĂ€lla: will.com
