R (programovací jazyk)

Rjeprogramovací jazyka prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení. Jde o implementaci programovacího jazykaSpod svobodnou licencí. Protože je zdarma, R již předstihlo počtem uživatelů komerční S a stalo se faktickým standardem v řadě oblastí statistiky.
Funkce prostředí R lze rozšířit pomocí knihoven označovaných jako balíčky (packages). Pro verzi 3.6.2 jich bylo v lednu roku 2020 v centrálnímrepozitářiCRAN k dispozici 15 325. Příkladem často používaného balíčku jeggplot2pro zobrazení dat.
R se používá zpříkazového řádku, existuje však několik frontendů sgrafickým rozhranímjakoRKWard,RStudioaR Commander.
R bývá také propojováno či využíváno v komerčním softwaru, např. v prostředíSPSSmohou uživatelé přímo psát a spouštět programy v jazyce R nad otevřenými daty.
R poskytuje širokou škálu statistických agrafickýchtechnik včetně lineárního a nelineárního modelování, klasickýchstatistických testů, analýzyčasových řad,shlukovánía dalších. R je snadno rozšiřitelný pomocí funkcí a balíčků a R komunita je známá jejich aktivní aktualizací. Mnoho standardních funkcí R je psáno v samotném jazyku R, což usnadňuje uživatelům sledovat provedené algoritmické změny. Pro výpočetně náročné úlohy lze kód propojit s jazykyC,C++aFortrana zavolat je v době běhu. Pokročilí uživatelé mohou využívat jazykyC,C++,Java,.NETneboPythonk přímé manipulaci R objektů.
R je vysoce rozšiřitelný pomocí balíčků vytvořených samotnými uživateli obsahující konkrétní funkce, nebo využitelné v určitých oblastech studia. Díky svému dědictví z jazyka S má R silnějšíobjektově orientované programovánínež většina ostatních statistických počítačových jazyků. Rozšíření R je také zjednodušeno díky využití lexikálních pravidel.
Další silnou stránkou R je statická grafika, která umí generovat grafy vhodné do vědeckých publikací zahrnující např. i matematické symboly. Dynamická a interaktivní grafika je dostupná prostřednictvím dalších balíčků.
R má svůj vlastní formát dokumentace podobnýLaTeXu, který nahrazuje kompletní dokumentaci, a to jak on-line, tak v mnoha formátech a v tištěné podobě.
R jeinterpretovaný jazyk, k němuž uživatelé obvykle přistupují pomocípříkazového řádku(interpret). Pokud uživatel zadá2 + 2do příkazového řádku R a potvrdí stisknutím↵ Enter, odpovědí počítače bude4, jak je uvedeno níže:
Tento výpočet je interpretován jako součet dvou jednoelementových vektorů, jehož výsledkem je také jednoelementový vektor. Předpona [1] označuje, že seznam prvků, které následují na stejném řádku, začíná prvním prvkem vektoru (funkce, která je užitečná, když je výstup na více řádků).
Stejně jako jiné podobné jazyky, jako je APL aMATLAB, R podporujematice. Datová struktura programovacího jazyka R zahrnujevektory,matice, datové rámce (podobnétabulkámvrelační databázi) a listy. Rozšiřitelný objekt – systém R zahrnuje objekty pro (mimo jiné):regresní modely,časové řadyageo-prostorové souřadnice. Skalární datový typ nebyl nikdy implementován jako datová struktura v R,skaláryjsou zde reprezentovány jako vektory s délkou jedna.
R podporujeprocedurální programovánís funkcemi, a pro některé funkceobjektově orientované programovánís generickými funkcemi. Generické funkce se chovají odlišně v závislosti na typu předaných argumentů k němu. Jinými slovy generická funkce odešle funkci specifickou pro daný typ objektu. Např. R má generickou funkciprint (), která umožňuje vytisknout téměř každý druh objektu s jednoduchouprint(JménoObjektu)syntaxí.
I když je většinou používán statistickými a jinými praktikami, které vyžadují prostředí pro statistické výpočty a vývoj softwaru, R může také fungovat jako výpočetní všeobecná matice – výkonností srovnatelné sGNU OctaveneboMATLAB.
Následující příklady ilustrují základnísyntaxijazyka a použitípříkazového řádkuR.
V R je široce preferovanýoperátorpro přiřazení tvořící šipku ze dvou znaků<-, ačkoli stejně dobře lze použít=.
Tento příklad, vykreslujícíMandelbrotovu množinu, demonstruje:
Jednoduchost vytváření funkcí je jednou z nejsilnějších možností využití R. Návratová hodnota lokální funkce může mít jakýkoliv datový typ.
Schopnosti R jsou rozšířeny pomocí tzv.balíčkůvytvořených samotnými uživateli, které umožňují využití specializovaných statistických nástrojů, grafického zobrazení (např.ggplot2), nástrojů na import / export dat, práci s daty v duchu filozofietidy data(balíčkytidyverse,tidymodels), pro tvorbu reportů (knitr, Sweave), jiných způsobů programování (např.R6) atd. Tyto balíčky jsou vyvíjeny především v jazyku R, někdy však také vJavě,C,C++neboFortranu.
Součástí instalace R je sada základních balíčků a dalších více než 11 000 dalších (k červenci 2017) je k dispozici na webových stránkách Comprehensive R Archive Network (CRAN),Bioconductor,Omegahat,GitHuba dalších úložištích. Pro verzi 2.10 jich bylo v červenci 2009 v centrálnímrepozitářiCRAN k dispozici ne méně než 2 000.
„Task Views“ (česky„Zobrazení úloh“)– na internetových stránkách CRAN jsou vytvořeny manuály seskupující balíčky podle možného typu aplikace (např. finance, genetika, medicínské zobrazování, sociální vědy nebo prostorová analýza). AmerickýÚřad pro kontrolu potravin a léčiv(FDA) označil R jako vhodné také pro interpretaci dat z klinického výzkumu.
Další balíčky pro R můžeme najít také na stránkách Crantastic,komunitního webu pro kontrolu a hodnocení všech balíčků CRAN a R-Forge,centrální platformy pro spolupráci na vývoji balíčků R, softwarů souvisejících s R a dalších projektů. R-Forge obsahuje také mnoho nepublikovaných beta balíčků a vývojové verze balíčků CRAN.
Projekt Bioconductor poskytuje balíčky R pro analýzu genomických dat, jako Affymetrix a nástroje pro zpracování a analýzu cDNAmicroarraydat a začal poskytovat také nástroje pro analýzu dat z nové generace vysoce výkonnýchsekvenčních metod.
Další specializované a samostatně stojící balíčky lze nalézt volně na internetu nebo na univerzitních stránkách – pro výzkum fylogeneze a evoluce pomocí (nejen) genetických dat např.ape,pegas,Geneland,phytools,phyloseq, Phylochnebo ParallelStructure.Reprodukovatelný výzkum a automatické generování reportů může být provedeno s balíčky, které podporují využití kódu R implementovaného doLaTeXu,OpenDocumentformátu atd.
Kompletní seznam změn je udržován vNEWSsouboru. Některé vlastnosti jsou uvedeny níže.
Funkce R byly zpřístupněny v několika skriptovacích jazycích jako je Python (balíček RPY), Perl (modulStatistics::R), Ruby (knihovnaRSRuby), a F # (R Typ Provider). Skriptování v oblasti výzkumu samotném je možné prostřednictvím Littler, jakož i prostřednictvím RDEMO.
Oficiální mezinárodní setkání uživatelů R nese název „useR!“.
První useR! konference byla uspořádána v květnu roku 2004 ve Vídni. Po jednoletém vynechání (v roce 2005) se další uživatelské konference konají již každoročně, zpravidla střídavě v rámci Evropy a Severní Ameriky.
Další konference:
Program R je srovnatelný s dalšími populárními statistickými nástroji jako je SAS, SPSS nebo Stata, avšak na rozdíl od nich je R k dispozici uživatelům bezplatně a využívá licenci svobodného software.
Ačkoliv je Ropen-sourceprojekt podporovaný komunitou pracující na jeho vývoji, některé komerční společnosti se snaží svým zákazníkům poskytnout technickou podporu nebo určitá rozšíření.
V roce 2007 byla založena firma Revolution Analytics, která poskytuje komerční podporu pro tzv. Revolution R (distribuci R zahrnující komponenty vyvinuté touto společností). Mezi hlavní přidané komponenty patří: ParallelR, R Productivity Environment IDE, RevoScaleR (pro analýzu velkých souborů dat), RevoDeployR, webový servis, a možnost čtení a zápisu dat ve formátu SAS. V roce 2015 společnostMicrosoftodkoupila Revolution Analytics a následně implementovala jazyk R do programuVisual Studio2017.
V roce 2011 společnostOraclevytvořila systémBig dat Appliance, který integruje R, Apache Hadoop, Oracle Linux a NoSQL databázi s Exadata hardware. Oracle Enterprise R se stalo jedním ze dvou komponent „Oracle Advanced Analytics Option“ (druhou složkou je Oracle Data Mining).
K dalšímu komerčnímu software podporující napojení na nebo integraci do R patří: JMP, Mathematica,MATLAB, Pentaho, Spotfire, SPSS, STATISTICA, Platforma Symphony nebo SAS.
TIBCO, současný vlastník S-Plus jazyka, umožňuje svým zaměstnancům, aby aktivně podporovali výzkum s účastí v R-Help mailing listu (viz výše).
Googleje velkým uživatelem R a vydává průvodce, sponzoruje výzkum v rámci projektu Summer-of-Code a také finančně podporuje uživatelská setkání.
RStudionabízí software a služby pro R.
V tomto článku byl použitpřekladtextu z článkuR (programming language)na anglické Wikipedii.