R - programovací jazyk: Porovnání verzí

(Není zobrazeno 6 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
'''R''' je volně (zdarma) dostupný programovací jazyk. Je specializovaný hlavně na statické výpočty, statickou analýzu dat a jejich grafické zobrazení. Výstupem jsou tedy nejčastěji 2D a 3D grafy. Podporuje také matice a maticové výpočty stejně jako podobný MATLAB. R se stalo standardem v oblastech statistiky a jeho prostředí je stále rozšiřováno přímo uživateli eRka. Je tím myšleno rozšíření funkcí R - tzv. knihovny, nebo také balíčky (packages).  
+
'''R je volně (zdarma) dostupný [[programovací jazyk]]'''. Je specializovaný hlavně na statické výpočty, statickou [[21. Sekundární analýza dat a metaanalýza|analýzu dat]] a jejich [[Grafické zobrazení dat|grafické zobrazení]]. Výstupem jsou tedy nejčastěji 2D a 3D grafy. Podporuje také [[Matematické vzorce (LaTeX)|matice]] a maticové výpočty stejně jako podobný [https://cs.wikipedia.org/wiki/MATLAB MATLAB]. R se stalo standardem v oblastech [[Statistika|statistiky]] a jeho prostředí je stále rozšiřováno přímo uživateli eRka. Je tím myšleno rozšíření funkcí R - tzv. knihovny, nebo také balíčky (packages).  
  
 
=== Balíčky/Packages ===  
 
=== Balíčky/Packages ===  
 
Sada základních balíčků je automaticky instalována společně s R. Dále je k dispozici více než 11 000 balíčků volně ke stáhnutí.  
 
Sada základních balíčků je automaticky instalována společně s R. Dále je k dispozici více než 11 000 balíčků volně ke stáhnutí.  
Balíčky dat jsou prakticky funkce navíc, které jazyk rozšiřují o další možnosti. Jedná se například o nástroj na import či export dat, tvorba reportů, nebo speciálně vytvořené balíčky pro určitý druh projektu/projekt, ke kterému  je R využíváno.  
+
'''Balíčky dat jsou prakticky funkce navíc''', které jazyk rozšiřují o další možnosti. Jedná se například o nástroj na import či export [[Data|dat]], tvorba reportů, nebo speciálně vytvořené balíčky pro určitý druh projektu/projekt, ke kterému  je R využíváno.  
Jsou k dispozici např. na stránkách Comprehensive R Archive Network (CRAN), Bioconductor (projekt, nabízí balíčky v oblasti pro analýzu genomických dat), GitHub, Omegahat...atd.  
+
Jsou k dispozici např. na stránkách Comprehensive R Archive Network (CRAN), Bioconductor (projekt, nabízí balíčky v oblasti pro analýzu genomických dat), [https://cs.wikipedia.org/wiki/GitHub GitHub], Omegahat...atd.  
  
Programovací jazyk R je opravdu pouze jazyk, tzv. interpretovaný jazyk - tzn. přístup pomocí příkazového řádku (interpret). Potřebuje tedy nějaké grafické uživatelské rozhraní (GUI - Graphical User Interface) ve kterém může uživatel R s jazykem pracovat. Je možné ho instalovat na operační systémy UNIX, Windows i MacOS.
+
Programovací jazyk R je opravdu pouze jazyk, tzv. ''interpretovaný jazyk'' - tzn. přístup pomocí příkazového řádku (interpret). Potřebuje tedy nějaké '''grafické [[Uživatelské rozhraní|uživatelské rozhraní''']] (GUI - Graphical User Interface) ve kterém může uživatel R s jazykem pracovat. Je možné ho instalovat na [[Operační systém|operační systémy]] UNIX, Windows i MacOS.
  
 
=== Grafické uživatelské rozhraní (GUI) ===
 
=== Grafické uživatelské rozhraní (GUI) ===
 
* '''RKWard'''
 
* '''RKWard'''
* '''RStudio''' (multiplatformní open-source IDE - Integrated Development Environmenty)  
+
* '''RStudio''' (multiplatformní [[open source]] IDE - Integrated Development Environmenty)  
 
* '''Deducer''' (pro analýzu dat)  
 
* '''Deducer''' (pro analýzu dat)  
 
* '''JAVA GUI pro R - JGR'''  
 
* '''JAVA GUI pro R - JGR'''  
 
* '''Rattle GUI'''
 
* '''Rattle GUI'''
* '''ReExcel''' (propojení aplikace Microsoft Excel s jazykem R)  
+
* '''ReExcel''' (propojení aplikace [[Microsoft Office|Microsoft Excel]] s jazykem R)  
  
 
=== Kladné vlastnosti ===
 
=== Kladné vlastnosti ===
Řádek 24: Řádek 24:
 
=== Důležité milníky ===
 
=== Důležité milníky ===
 
* '''1997 - ''' Vznik poslední funkční verze jazyka R, který je vyvinut z jazyka S. Je jeho nástupce, akorát má svobodnou licenci na rozdíl od S.  
 
* '''1997 - ''' Vznik poslední funkční verze jazyka R, který je vyvinut z jazyka S. Je jeho nástupce, akorát má svobodnou licenci na rozdíl od S.  
* Téhož roku se R stává oficiálně součástí projektu [http://www.gnu.org/ GNU] (projekt zaměřený na svobodný software, inspirován OS unixového typu - OS se svobodnou licencí).  
+
* Téhož roku se R stává oficiálně součástí projektu [http://www.gnu.org/ GNU] (projekt zaměřený na svobodný software, inspirován [[Linux|OS unixového typu]] - OS se svobodnou licencí).  
 
* '''2001 - ''' První verze pro MacOS.  
 
* '''2001 - ''' První verze pro MacOS.  
 
* '''2005 - ''' Podpora kódování UTF-8 (způsob kódování znaků - zahrnuje čtení českých znaků) a počátky internacionalizace a lokace pro různé jazyky.  
 
* '''2005 - ''' Podpora kódování UTF-8 (způsob kódování znaků - zahrnuje čtení českých znaků) a počátky internacionalizace a lokace pro různé jazyky.  
Řádek 31: Řádek 31:
 
== Datové struktury  a typy ==
 
== Datové struktury  a typy ==
  
=== Datové struktury ===  
+
=== [[Datové struktury]] ===  
Zahrnuje ''vektory, matice, datové rámce (tabulky podobné tabulkám v relačních databázích), listy (seznamy), pole, faktory''. Neobsahuje skaláry, zde jsou reprezentovány jako vektory s délkou jedna.  
+
Zahrnuje ''[[Vektorová grafika|vektory]], matice, datové rámce (tabulky podobné tabulkám v [[Relační databáze|relačních databázích]]), listy (seznamy), pole, faktory''. Neobsahuje skaláry, zde jsou reprezentovány jako vektory s délkou jedna.  
  
 
=== Datové typy ===
 
=== Datové typy ===
Řádek 70: Řádek 70:
 
př.: '''> r <- "retezec"'''
 
př.: '''> r <- "retezec"'''
  
== Syntax ==
+
== [[Syntaxe]] ==
 
=== Operátory ===
 
=== Operátory ===
 
* Matematické operátory, které jsou potřebné k výpočtům. Je to '''+, -, *, /,'''
 
* Matematické operátory, které jsou potřebné k výpočtům. Je to '''+, -, *, /,'''
 
* Operátor přiřazení '''<-'''  
 
* Operátor přiřazení '''<-'''  
* Booleovské (logické) operátory AND ('''&'''), OR ('''|'''), NOT ('''!'''), EQUAL ('''=='''). Ve složitějších příkladech, které obsahují operátory & i | má AND vždy přednost.  
+
* [[Booleovské operátory|Booleovské (logické) operátory]] AND ('''&'''), OR ('''|'''), NOT ('''!'''), EQUAL ('''=='''). Ve složitějších příkladech, které obsahují operátory & i | má AND vždy přednost.  
  
 
=== Název ===
 
=== Název ===
Řádek 116: Řádek 116:
 
=== Reference ===
 
=== Reference ===
 
<references />
 
<references />
 +
 +
== Odkazy ==
 +
* [[Programovací jazyk]]
 +
* [[Grafické zobrazení dat]]
 +
* [[Matematické vzorce (LaTeX)]]
 +
* [[Statistika]]
 +
* [[Uživatelské rozhraní]]
 +
* [[Data]]
 +
* [[Booleovské operátory]]
 +
* [[Relační databáze]]
 +
* [[Vektorová grafika]]
 +
* [[Datové struktury]]
 +
* [[Open source]]
 +
 +
KS: Programovací jazyk, Program, R, Rko, Open source, vektory, posloupnost, sekvence, datové struktury, datové typy, data, tabulky

Verze z 21. 10. 2020, 17:48

R je volně (zdarma) dostupný programovací jazyk. Je specializovaný hlavně na statické výpočty, statickou analýzu dat a jejich grafické zobrazení. Výstupem jsou tedy nejčastěji 2D a 3D grafy. Podporuje také matice a maticové výpočty stejně jako podobný MATLAB. R se stalo standardem v oblastech statistiky a jeho prostředí je stále rozšiřováno přímo uživateli eRka. Je tím myšleno rozšíření funkcí R - tzv. knihovny, nebo také balíčky (packages).

Balíčky/Packages

Sada základních balíčků je automaticky instalována společně s R. Dále je k dispozici více než 11 000 balíčků volně ke stáhnutí. Balíčky dat jsou prakticky funkce navíc, které jazyk rozšiřují o další možnosti. Jedná se například o nástroj na import či export dat, tvorba reportů, nebo speciálně vytvořené balíčky pro určitý druh projektu/projekt, ke kterému je R využíváno. Jsou k dispozici např. na stránkách Comprehensive R Archive Network (CRAN), Bioconductor (projekt, nabízí balíčky v oblasti pro analýzu genomických dat), GitHub, Omegahat...atd.

Programovací jazyk R je opravdu pouze jazyk, tzv. interpretovaný jazyk - tzn. přístup pomocí příkazového řádku (interpret). Potřebuje tedy nějaké grafické uživatelské rozhraní (GUI - Graphical User Interface) ve kterém může uživatel R s jazykem pracovat. Je možné ho instalovat na operační systémy UNIX, Windows i MacOS.

Grafické uživatelské rozhraní (GUI)

  • RKWard
  • RStudio (multiplatformní open source IDE - Integrated Development Environmenty)
  • Deducer (pro analýzu dat)
  • JAVA GUI pro R - JGR
  • Rattle GUI
  • ReExcel (propojení aplikace Microsoft Excel s jazykem R)

Kladné vlastnosti

  • Silné objektově orientované programování na rozdíl od většiny ostatních statických počítačových jazyků.
  • Statická grafika díky které generuje grafy. Zahrnuje také matematické symboly.
  • Má svůj vlastní formát podobný LaTexu.
  • Kód je možné propojit s dalšími jazyky (C, C++, Fortram).

Důležité milníky

  • 1997 - Vznik poslední funkční verze jazyka R, který je vyvinut z jazyka S. Je jeho nástupce, akorát má svobodnou licenci na rozdíl od S.
  • Téhož roku se R stává oficiálně součástí projektu GNU (projekt zaměřený na svobodný software, inspirován OS unixového typu - OS se svobodnou licencí).
  • 2001 - První verze pro MacOS.
  • 2005 - Podpora kódování UTF-8 (způsob kódování znaků - zahrnuje čtení českých znaků) a počátky internacionalizace a lokace pro různé jazyky.
  • 2010 - Podpora pro 64 bitové MS Windows.

Datové struktury a typy

Datové struktury

Zahrnuje vektory, matice, datové rámce (tabulky podobné tabulkám v relačních databázích), listy (seznamy), pole, faktory. Neobsahuje skaláry, zde jsou reprezentovány jako vektory s délkou jedna.

Datové typy

Obsahuje základních 5 typů. Pokud si není uživatel jistý jaký typ dat vektor/tabulka/list obsahuje, může tuto informaci rychle zjistit pomocí funkce class()

  • 1. numeric
  • 2. integer
  • 3. complex
  • 4. logical
  • 5. character

Numeric

Reálná čísla - tzn. všechna kladná, záporná, celá i desetinná čísla. U desetinných čísel je třeba dávat pozor na psaní teček mezi číslicemi, nikoli čárek. Není to český program a tečky nepochopí. Při exportu českých dat, která čárky místo teček obsahují, není třeba vše v dokumentu přepisovat, stačí ve skriptu upozornit program pomocí funkce separated sep = " , ".

př.: > 1.234

Integer

celá čísla

Complex

Numerická hodnota je doplněna o komplexní jednotku. Např. i. Vždy musí obsahovat numerickou hodnotu i kdyby se jednalo o 1i.

př. : > 1 + 2i

Logical

Logické hodnoty - TRUE/FALSE nebo jen T/F. (Pozor! Jazyk R je citlivý na velká a malá písmena, proto logické hodnoty nelze psát jinak než uvedeným způsobem.) Logické hodnoty se používají pro některé argumenty funkcí, jsou výsledkem testování výrazů.[1]

př.:

> 2.3 > 3

[1] FALSE

Character

Slovní řetězce, které se používají pro textové hodnoty (popisky, názvy atd.). Řetězec musí být zadán do jednoduchých apostorfů ( ' ) nebo do dvojitých uvozovek ("). př.: > r <- "retezec"

Syntaxe

Operátory

  • Matematické operátory, které jsou potřebné k výpočtům. Je to +, -, *, /,
  • Operátor přiřazení <-
  • Booleovské (logické) operátory AND (&), OR (|), NOT (!), EQUAL (==). Ve složitějších příkladech, které obsahují operátory & i | má AND vždy přednost.

Název

Řetězec názvu se může skládat z písmen a - z nebo A - Z. Může obsahovat také číslice 0 - 9, tečky a podtržítka, ale musí začínat písmenem. Víceslovný název se odděluje tečkou nebo podtržítkem. (př.: Chlapci.prumer / chlapci_prumer)

Funkce

Funkce se vždy skládá z názvu funkce, následuje závorka, ve které je argument. Závorka může společně s argumentem obsahovat výpočty, hodnoty...atd.

Nejčastější operace

Sekvence

Pokud je potřeba vytvořit sekvenci čísel je možné napsat pouze 1 : 20 a po zmáčknutí klávesy ENTER nám program ukáže sekvenci čísel 1 - 20. Je možné sekvence tvořit i pozpátku 15 : 1. Pokud chceme provést složitější operaci co se týče sekvencí, je možní použít funkce seq() nebo rep().

seq()

Lze použít například pokud potřebuji udělat sekvenci čísel jejíž posloupnost půjde po polovinách. př.: seq(0, 10, by = 0.5)

Mohu také chtít aby mi vyšla náhodná desetinná čísla tak, že zadám pouze rozsah a kolik čísel by výsledek měl obsahovat. př.: seq(5, 10, length = 30)

rep()

Funkce replay se používá k opakování hodnot v sekvencích. Pokud chci třeba vektor, kde se opakuje 1, 2, 3 stále dokola a má délku 10, nebo opakování 10x0, 10x1 a 10x2 přímo za sebou. př.: 1. rep(c(1, 2, 3), times = 10) 2. rep(c(0, 1, 2), each = 10)

Vektory

Vektory jsou nejčastěji používanou datovou strukturou v R a rozlišují se na atomické, které obsahují pouze jeden datový typ a na seznamy, které mohou obsahovat více datových typů dohromady.

Vytváření vektorů

Vektory se tvoří prostřednictvím funkce c = Concatenate. př.:c(0.5, 0.6), c(TRUE, FALSE), c(T, F), c("a", "b", "cdef")

Výřezy proměnných z vektoru

Pokud mám vektor x a chci z něj vyjmout pouze část. př.: x[1 : 10]. Tímto dostanu pouze prvních deset elementů z x. Ale nemohu s těmi elementy samostatně manipulovat, stále jsou součástí vektoru x. Pokud z nich chci udělat samostatnou část, musím použít dvojité závorky [[ ]]. Poté mohu s hodnotou pracovat.


Zdroje

Použitá literatura

Reference

Odkazy

KS: Programovací jazyk, Program, R, Rko, Open source, vektory, posloupnost, sekvence, datové struktury, datové typy, data, tabulky