Vít Gabrhel
vit.gabrhel@mail.muni.cz
FSS MU,
18. 9. 2017
0. Organizace kurzu
1. Konceptuální představení jazyka R
2. Instalace R a Rstudio, orientace v prostředí Rstudio, úvod do psaní kódu v R
3. Základní operace – aritmetika, přiřazování proměnných, zjišťování třídy proměnných
1) Programovací jazyk umožňující tvorbu "statistického software" (tj. analýz)
Vícenásobná lineární regrese
Y' = a + bnXn
Y' = b0 + b1X1 + b2X2 + ... + bnXn + e
2) Prostředí pro provádění analýz a vizualizací
R je kombinací
Programovacího jazyka S určeného pro analýzu dat (Bell Labs, J. Chambers, 1976)
Lexikálního scopingu umožňujícího přiřazování dat k entitám označeným jménem
R vyvinuli R. Ihaka a R. Gentleman z University of Auckland - první verze byla spuštěna v roce 1994
Principy R
Open-Source a s ním související "svobody":
Svoboda používat R pro jakékoliv účely včetně svobody studovat to, jak R funguje a modifikovat ho svým vlastním potřebám.
Svoboda šířit R a v nim vytvořené obsahy
Svoboda zlepšovat R včetně sdílení těchto zlepšení komunitě.
Aktuální kontext:
Bez záruk -> větší míra odpovědnosti na uživatele
Journal of Statistical Software (2012) - Special Issue on Graphical User Interfaces for R:
https://www.jstatsoft.org/issue/view/v049
Čísla a Texty
BitCoin = 3 + 4
CryptoCurrency <- c("Bitcoin", "Sichuan")
names(CryptoCurrency) <- c("Kryptoměna", "Provincie")
U textové proměnné je nutné používat uvozovky ("Proč nepoužíváš Python?")
#
Mřížka či hastag odděluje kód od komentáře
# Luděk má 3 BTC, Eleonora 4 ETH. Dohromady mají 7 jednotek kryptoměn.
CryptoCurrency = 3 + 4
Pozor na malá a velká písmena!
"=" a "->" jsou ekvivalentní formy zápisu
Psaní symbolů (např. "<") skrze pravý alt:
Pravý alt + další písmeno na klávesnici, např.:
x = 3 + 4 versus 3 + 4 = y
Error in 3 + 4 = y : target of assignment expands to non-language object
Parametr (například vektor nebo datová matice) nemůže v jazyce R začínat číslem. Řešení?
"7" = 3 + 4
Jak si "uklidit" pracovní prostor?
Příkaz remove()
Jak si "říct o pomoc"?
Symbol "?" před funkcí pro vyhledávání v dokumentaci R
Symbol "??" před funkcí pro vyhledávání příkazu napříč knihovnami
Sčítání: +
420 + 0
[1] 420
Násobení: *
2 * 3
[1] 6
Umocňování: ^
16 ^ 2
[1] 256
Odčítání: -
333 - 12
[1] 321
Dělení: /
1 / 2
[1] 0.5
Druhá odmocnina: sqrt(x)
sqrt(256)
[1] 16
Reprezentují hodnoty (např. "0" nebo "Hruška") nebo jiné objekty (např. proměnná jako objekt v rámci datové matice, dalšího objektu).
Bitcoin <- 3
Bitcoin
[1] 3
Etherium <- 4
Etherium
[1] 4
Kryptoměny = Bitcoin + Etherium
Kryptoměny
[1] 7
Numerické versus stringové objekty
Bitcoin = Jedna
Error: object 'Jedna' not found
Bitcoin = "Jedna"
Kryptoměny = Bitcoin + Etherium
Error in Jablka + Hrušky : non-numeric argument to binary operator
Předchozí příklady se týkaly vyvolání hodnoty. Co vyvolání sady hodnot?
# Nejdříve vytvoříme objekt se zeměmi, kde se "těží" kryptoměny:
# Názvy sítí, kde se sdružují těžaři:
# Jaký je podíl zmíněných sítí na celku?
# Vytvořte objekt my_numeric s hodnotou 23.1
my_numeric <- 23.1
# Vytvořte objekt my_character s hodnotou "universe"
my_character <- "Čína"
# Vytvořte objekt my_logical s hodnotou FALSE
my_logical <- FALSE
Logical
Boolean values (TRUE or FALSE) are called logical.
as.logical - classifies 0 as FALSE and anything other than 0 as TRUE
is.logical - Create or test for objects of type "logical"
Jak poznat třídu dat?
Funkce class():
class(my_numeric)
[1] "numeric"
class(my_character)
[1] "character"
class(my_logical)
[1] "logical"
Factor
treatment <- c("A", "A", "B", "B", "Placebo", "Placebo")
treatment.f <- as.factor(treatment)
class(treatment)
[1] "character"
class(treatment.f)
[1] "factor"
is.factor(treatment)
[1] FALSE
is.factor(treatment.f)
[1] TRUE
R (programming language). (n.d.). In Wikipedia. Staženo dne 18. 9. 2016 z
https://en.wikipedia.org/wiki/R_(programming_language)
Další čtení:
http://www.infoworld.com/article/2940864/application-development/r-programming-language-statistical-data-analysis.html
Reportujte vždy patřičnou část kódu.