10 užitečných funkcí R, o kterých možná nevíte

10 užitečných funkcí R, o kterých možná nevíte

R je plné různých funkcí. Níže uvedu deset nejzajímavějších z nich, o kterých by mnozí možná nevěděli. Článek se objevil poté, co jsem zjistil, že mé příběhy o některých funkcích R, které používám ve své práci, byly nadšeně přijaty kolegy programátory. Pokud už o tom všechno víte, tak se omlouvám za ztrátu času. Zároveň, pokud se máte o co podělit, doporučte něco užitečného v komentářích.

Skillbox doporučuje: Praktický kurz "vývojář Pythonu".

Připomínáme: pro všechny čtenáře "Habr" - sleva 10 000 rublů při zápisu do jakéhokoli kurzu Skillbox pomocí propagačního kódu "Habr".

funkce spínače

Opravdu se mi líbí switch(). Ve skutečnosti je to vhodná zkratka pro příkaz if při výběru hodnoty na základě hodnoty jiné proměnné. To považuji zejména za užitečné, když píšu kód, který potřebuje načíst konkrétní sadu dat na základě předchozího výběru. Pokud máte například proměnnou s názvem zvíře a chcete vybrat konkrétní sadu dat podle toho, zda je zvíře pes, kočka nebo králík, napište toto:

data < — read.csv(
přepínač (zvíře,
"pes" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Tato funkce bude užitečná v aplikacích Shiny, kde potřebujete načíst různé datové sady nebo soubory prostředí v závislosti na jedné nebo více položkách vstupní nabídky.

Klávesové zkratky pro RStudio

Tento hack není ani tak pro R, ale pro RStudio IDE. Klávesové zkratky jsou však vždy velmi pohodlné a umožňují vám ušetřit čas při zadávání textu. Moje oblíbené jsou Ctrl+Shift+M pro operátor %>% a Alt+- pro operátor <-.

Chcete-li zobrazit všechny klávesové zkratky, jednoduše stiskněte Alt+Shift+K v RStudio.

balíček flexdashboard

Když potřebujete rychle spustit svůj Shiny dashboard, není nic lepšího než balíček palubní desky. Poskytuje možnost pracovat se zkratkami HTML, které zase usnadňují a bezproblémově vytvářejí postranní panely, řádky a sloupce. Nechybí ani možnost použít titulní lištu, která vám umožní umístit jej na různé stránky aplikace, ponechat ikony, zástupce na Github, e-mailové adresy a mnoho dalšího.

Balíček vám umožňuje pracovat v rámci Rmarkdown, takže můžete všechny aplikace umístit do jednoho souboru Rmd a ne je distribuovat mezi různé servery a soubory uživatelského rozhraní, jak se to děje například pomocí shinydashboard. Flexdashboard používám vždy, když potřebuji vytvořit jednoduchý prototyp řídicího panelu, než pracuji na něčem složitém. Tato funkce umožňuje vytvořit prototyp do hodiny.

vyžadovat a ověřovat funkce v R Shiny

Vývoj v R Shiny může být matoucí, zvláště když se vám neustále zobrazují podivné chybové zprávy, které znesnadňují pochopení toho, co se děje. Postupem času se ale Shiny vyvíjí a zdokonaluje, objevuje se zde stále více funkcí, které umožňují pochopit příčinu chyby. Takže req() řeší problém s „tichou“ chybou, kdy obecně není jasné, co se děje. Umožňuje zobrazit prvky uživatelského rozhraní spojené s předchozími akcemi. Vysvětlíme na příkladu:

output$go_button < — lesklé::renderUI({

# tlačítko zobrazit pouze v případě, že bylo zvoleno zadání zvířete

lesklý::req(vstup $zvíře)

# tlačítko displeje

shiny::actionButton("go",
paste("Chování", vstup $zvíře, "analýza!")
)
})

validate() před vykreslením vše zkontroluje a dá vám možnost vytisknout chybovou zprávu – například, že uživatel nahrál nesprávný soubor:

# získat vstupní soubor csv

inFile < — vstup $soubor1
data < — inFile$datapath

# vykreslit tabulku pouze v případě, že se jedná o psy

lesklý::renderTable({
# zkontrolujte, zda se jedná o soubor psa, nikoli kočky nebo králíky
lesklý::validovat(
need("Jméno psa" %in% colnames(data)),
"Sloupec Jméno psa nenalezen - načetli jste správný soubor?"
)

datum
})

Další informace o všech těchto funkcích najdete zde.

Uložení vašich přihlašovacích údajů pro vás v systémovém prostředí

Pokud plánujete sdílet kód, který vyžaduje zadání přihlašovacích údajů, použijte systémové prostředí, abyste se vyhnuli hostování vlastních přihlašovacích údajů na Github nebo jiné službě. Příklad umístění:

sys.setenv(
DSN = "název_databáze",
UID = "ID uživatele",
PASS = "Heslo"
)

Nyní se můžete přihlásit pomocí proměnných prostředí:

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

Ještě pohodlnější (zejména pokud data používáte často) je nastavit jako proměnné prostředí přímo v operačním systému. V takovém případě budou vždy k dispozici a nebudete je muset uvádět v kódu.

Automatizujte tidyverse pomocí styleru

Balíček Styler vám může pomoci vyčistit kód; má mnoho možností pro automatické převedení stylu kódu do tidyverse. Vše, co musíte udělat, je spustit styler::style_file() na vašem problematickém skriptu. Balíček udělá hodně (ale ne všechno) pro obnovení pořádku.

Parametrizace R Markdown Documents

Takže jste vytvořili skvělý dokument R Markdown, ve kterém analyzujete různá fakta o psech. A pak vás napadne, že by bylo lepší dělat stejnou práci, ale jen s kočkami. Žádný problém, vytváření zpráv o kočkách můžete automatizovat jediným příkazem. Chcete-li to provést, musíte pouze parametrizovat dokument R markdown.

Můžete to provést nastavením parametrů pro hlavičku YAML v zadaném dokumentu a poté nastavením parametrů hodnoty.

— název: „Analýza zvířat“
autor: "Keith McNulty"
datum: "21. března 2019"
výstup:
html_document:
code_folding: "skrýt"
parametry:
zvířecí_jméno:
hodnota: Pes
volby:
-Pes
-Kočka
— Králík
roky_studia:
vstup: posuvník
min: 2000
max: 2019
krok 1
kolo: 1
září: "
hodnota: [2010, 2017] —

Nyní můžete zaregistrovat všechny proměnné v kódu dokumentu jako params$animal_name a params$years_of_study. Potom použijeme rozbalovací nabídku Knit (nebo knit_with_parameters()) a budeme moci vybrat parametry.

10 užitečných funkcí R, o kterých možná nevíte

odhalíjs

discoverjs je balíček, který vám umožňuje vytvářet skvělé HTML prezentace s vestavěným R kódem, intuitivní navigací a nabídkami snímků. Zkratky HTML umožňují rychle vytvořit vnořenou strukturu snímků s různými možnostmi stylů. HTML poběží na jakémkoli zařízení, takže prezentaci lze otevřít na každém telefonu, tabletu nebo notebooku. Zveřejňování informací lze nakonfigurovat instalací balíčku a jeho voláním v hlavičce YAML. Zde je příklad:

— název: „Exporting the Edge of the People Analytics Universe“
autor: "Keith McNulty"
výstup:
discoverjs::revealjs_presentation:
střed: ano
šablona:starwars.html
téma: černá
datum: “HR Analytics Meetup London – 18. března 2019”
zdrojové_soubory:
— darth.png
- deathstar.png
- hanchewy.png
- tisíciletí.png
- r2d2-threepio.png
-starwars.html
— starwars.png
—stormtrooper.png
-

Zdrojový kód prezentace zveřejněno zdea ona samarpubs.com/keithmcnulty/hr_meetup_london'>prezentace - zde.

10 užitečných funkcí R, o kterých možná nevíte

HTML tagy v R Shiny

Většina programátorů plně nevyužívá HTML tagy, které má R Shiny. Jedná se ale pouze o 110 značek, které umožňují vytvořit krátké volání funkce HTML nebo přehrávání médií. Nedávno jsem například použil tags$audio k přehrání zvuku „vítězství“, který uživatele upozornil na dokončení úkolu.

Pochvalný balíček

Použití tohoto balíčku je velmi jednoduché, ale je potřeba k tomu, aby se uživateli projevila pochvala. Vypadá to divně, ale ve skutečnosti se jim to líbí.

10 užitečných funkcí R, o kterých možná nevíte

Skillbox doporučuje:

Zdroj: www.habr.com

Přidat komentář