10 Nëtzlech R Features, déi Dir vläicht net wësst

10 Nëtzlech R Features, déi Dir vläicht net wësst

R ass voll mat enger Rei vu Funktiounen. Ënnert ech ginn zéng vun den interessantsten vun hinnen, déi vill vläicht net wëssen. Den Artikel erschéngt nodeems ech entdeckt hunn datt meng Geschichten iwwer e puer vun de Funktiounen vum R, déi ech a menger Aarbecht benotzen, begeeschtert vu Matbierger Programméierer empfaangen hunn. Wann Dir schon alles iwwer dëst wësst, dann entschëllegen ech mech fir Är Zäit ze verschwenden. Zur selwechter Zäit, wann Dir eppes ze deelen hutt, empfeelt eppes nëtzlech an de Kommentaren.

Skillbox recommandéiert: Praktesch Cours "Python Entwéckler".

Mir erënneren Iech: fir all Habr Lieser - eng Remise vun 10 Rubel wann Dir Iech an all Skillbox Cours aschreift mat dem Habr Promo Code.

schalt Funktioun

Ech hu wierklech gär schalt (). Tatsächlech ass et eng praktesch Ofkierzung fir eng If Ausso wann Dir e Wäert auswielt baséiert op dem Wäert vun enger anerer Variabel. Ech fannen dat besonnesch nëtzlech wann ech Code schreiwen, deen e spezifesche Set vun Donnéeën op Basis vun enger fréierer Auswiel gelueden muss. Zum Beispill, wann Dir eng Variabel mam Numm Déier hutt an Dir wëllt e spezifesche Set vun Daten auswielen ofhängeg ob d'Déier en Hond, eng Kaz oder eng Kanéngchen ass, schreift dëst:

daten < — read.csv(
schalt (Déier,
"dog" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Dës Fonktioun wäert nëtzlech sinn an Shiny Uwendungen, wou Dir verschidden Datesets oder Ëmfelddateien luede musst ofhängeg vun engem oder méi Input Menu Elementer.

Hotkeys fir RStudio

Dësen Hack ass net sou vill fir R, awer fir RStudio IDE. Wéi och ëmmer, Hotkeys sinn ëmmer ganz bequem, wat Iech erlaabt Zäit ze spueren wann Dir Text aginn. Meng Favoritten sinn Ctrl+Shift+M fir den %>% Bedreiwer an Alt+- fir den <- Bedreiwer.

Fir all Hotkeys ze gesinn, dréckt einfach Alt + Shift + K am RStudio.

flexdashboard Package

Wann Dir Äre Shiny Dashboard séier muss starten, gëtt et näischt Besseres wéi den Dashboard Package. Et bitt d'Fäegkeet fir mat HTML Ofkiirzungen ze schaffen, déi et dann och einfach an ouni Problem maachen Sidebars, Zeilen a Spalten ze kreéieren. Et gëtt och d'Fäegkeet eng Titelbar ze benotzen, déi Iech erlaabt et op verschiddene Säiten vun der Applikatioun ze placéieren, Ikonen, Ofkiirzungen op Github, E-Mail Adressen a vill méi.

De Package erlaabt Iech am Kader vun Rmarkdown ze schaffen, sou datt Dir all Uwendungen an enger Rmd-Datei placéiere kënnt, an net iwwer verschidde Serveren an UI-Dateien verdeelen, wéi et zum Beispill gemaach gëtt mat shinydashboard. Ech benotze Flexdashboard wann ech en einfachen Dashboard Prototyp muss erstellen ier ech un eppes Komplexes schaffen. Dës Fonktioun erlaabt Iech e Prototyp bannent enger Stonn ze schafen.

req a validéieren Funktiounen am R Shiny

Entwéckelen am R Shiny ka konfus sinn, besonnesch wann Dir ëmmer komesch Fehlermeldungen kritt, déi et schwéier maachen ze verstoen wat lass ass. Awer mat der Zäit, Shiny entwéckelt a verbessert, méi a méi Funktiounen erschéngen hei, déi Iech erlaben d'Ursaach vum Feeler ze verstoen. Also, req () léist de Problem mat engem "rouege" Feeler, wann et allgemeng net kloer ass wat lass ass. Et erlaabt Iech UI Elementer ze weisen, déi mat fréieren Aktiounen verbonne sinn. Loosst eis mat engem Beispill erklären:

output$go_button < — shiny::renderUI({

# nëmmen Display Knäppchen wann en Déierinput gewielt gouf

shiny::req(input$dier)

# Display Knäppchen

shiny::actionButton("goen",
paste("Conduct", input$dier, "Analyse!")
)
})

validéieren () iwwerpréift alles virum Rendering a gëtt Iech d'Méiglechkeet fir eng Fehlermeldung ze drécken - zum Beispill datt de Benotzer déi falsch Datei eropgelueden huet:

# csv Input Datei kréien

inFile < — input$file1
daten < — inFile$datapath

# Render- Dësch nëmmen wann et Hënn ass

shiny::renderTable({
# kontrolléiert datt et den Hondsdatei ass, net Kazen oder Kanéngercher
glänzend::validéieren(
need("Hundnumm" %in% Colnames(Daten)),
"Dog Numm Kolonn net fonnt - hutt Dir déi richteg Datei gelueden?"
)

Donnéeën
})

Méi Informatiounen iwwert all dës Fonctiounen kann hei fonnt ginn.

Späichert Är Umeldungsinformatiounen fir Iech selwer am Systemëmfeld

Wann Dir plangt Code ze deelen deen Iech erfuerdert Umeldungsinformatiounen aginn, benotzt d'Systemëmfeld fir ze vermeiden datt Dir Är eege Umeldungsinformatiounen op Github oder engem anere Service hostéiert. Beispill Plazéierung:

Sys.setenv(
DSN = "Datebanknumm",
UID = "Benotzer ID",
PASS = "Passwuert"
)

Elo kënnt Dir Iech mat Ëmfeldvariablen aloggen:

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

Et ass nach méi praktesch (besonnesch wann Dir d'Donnéeën dacks benotzt) fir se als Ëmfeldvariablen direkt am Betribssystem ze setzen. An dësem Fall wäerte se ëmmer verfügbar sinn an Dir musst se net am Code spezifizéieren.

Automatiséierung mat Styler

De Styler Package kann Iech hëllefen Äre Code ze botzen; et huet vill Méiglechkeeten fir de Codestil automatesch an d'Zäit ze bréngen. Alles wat Dir maache musst ass styler :: style_file () op Ärem problematesche Skript ze lafen. De Package wäert vill maachen (awer net alles) fir d'Uerdnung ze restauréieren.

Parameteriséieren R Markdown Dokumenter

Also hutt Dir e super R Markdown Dokument erstallt an deem Dir verschidde Fakten iwwer Hënn analyséiert. An da kënnt et Iech vir, datt et besser wier déi selwecht Aarbecht ze maachen, awer nëmme mat Kazen. Kee Problem, Dir kënnt d'Schafe vu Kazberichter mat just engem Kommando automatiséieren. Fir dëst ze maachen, braucht Dir nëmmen Äert R Markdown Dokument ze parameteriséieren.

Dir kënnt dat maachen andeems Dir Parameteren fir den YAML Header am spezifizéierten Dokument setzt, an dann d'Wäertparameter setzen.

- Titel: "Déierenanalyse"
Auteur: "Keith McNulty"
Datum: 21. Mäerz 2019
Ausgab:
html_dokument:
code_folding: "verstoppen"
params:
Déier Numm:
Wäert: Hond
Wahlen:
— Hond
— Kaz
- Kanéngchen
Joer_of_Studie:
Input: Schieber
min: 2000 Uhr
maximal: 2019
Schrëtt: 1
ronn: 1
sep: "
Wäert: [2010, 2017] —

Elo kënnt Dir all d'Variabelen am Dokumentcode als params$animal_name a params$years_of_study aschreiwen. Da wäerte mir d'Strécken Dropdown-Menü benotzen (oder knit_with_parameters ()) a kënnen Parameteren auswielen.

10 Nëtzlech R Features, déi Dir vläicht net wësst

verroden

revealjs ass e Package deen Iech erlaabt super HTML Presentatiounen mat agebaute R Code, intuitiv Navigatioun a Rutschmenüen ze kreéieren. HTML Ofkiirzungen erlaben Iech séier eng nestéiert Rutschstruktur mat verschiddene Stylingoptiounen ze kreéieren. Gutt, HTML wäert op all Apparat lafen, sou datt d'Presentatioun op all Telefon, Tablet oder Laptop kann opgemaach ginn. Informatiounsoffenbarung kann konfiguréiert ginn andeems Dir de Package installéiert an et am YAML Header nennt. Hei ass e Beispill:

- Titel: "Exporing the Edge of the People Analytics Universe"
Auteur: "Keith McNulty"
Ausgab:
revealjs::revealjs_presentation:
Zentrum: jo
Schabloun: starwars.html
Thema: schwaarz
Datum: "HR Analytics Meetup London - 18. Mäerz 2019"
Ressource_Dateien:
- darth.png
- deathstar.png
- hanchewy.png
- millennium.png
- r2d2-threepio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Presentatioun Quellcode hei gepost, a sech selwerrpubs.com/keithmcnulty/hr_meetup_london'>Presentatioun - hei.

10 Nëtzlech R Features, déi Dir vläicht net wësst

HTML Tags an R Shiny

Déi meescht Programméierer profitéieren net voll vun den HTML Tags déi R Shiny huet. Awer dëst sinn nëmmen 110 Tags, déi et méiglech maachen e kuerzen Opruff fir eng HTML Funktioun oder Mediaplayback ze kreéieren. Zum Beispill hunn ech viru kuerzem Tags $ Audio benotzt fir e "Victoire" Toun ze spillen deen de Benotzer alarméiert huet wann eng Aufgab fäerdeg war.

Lueft Package

Dëse Package ze benotzen ass ganz einfach, awer et ass néideg fir de Benotzer Lob ze weisen. Et schéngt komesch, awer si hunn et wierklech gär.

10 Nëtzlech R Features, déi Dir vläicht net wësst

Skillbox recommandéiert:

Source: will.com

Setzt e Commentaire