Programovací jazyk R a práce s ním Vít Gabrhel vit.gabrhel@mail.muni. cz FSS MU, Harmonogram 0. Organizace kurzu 1. Konceptuálni 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 Organizace kurzu Sylabus Představení jazyka R Co je R? 1) Programovací jazyk umožňující tvorbu "statistického software" (tj. analýz) Vícenásobná lineární regrese Y' = a + bnXn Y' = bo + biXi + b2X2 + ... + bnXn + e # Multiple Linear Regression Example fit <- lm(y ~ xl + x2 + x3, data=mydata) summary(fit) # show results 2) Prostředí pro provádění analýz a vizualizací 5O000- Představení jazyka R "Historie" (R (programming language), n.d.) R je kombinací Programovacího jazyka S určeného pro analýzu dat (Beinabsj. chambers, 1976) Lexikálního scopingu umožňujícího přiřazování dat k entitám označeným jménem ^J^^^^^^^^^^^^H > Košík_Jablek =1+2+4+8 > Košik_Jablek [1] 15 R vyvinuli R. Ihaka a R. Gentleman z University of Auckland - první verze byla spuštěna v roce 1994 • Název je slovní hříčkou - jednak parafrází na "S" a jednak odkazem na iniciály autorů Predstavení jazyka R Myšlenkové zázemí a současný kontext 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ě. • Open source • Transparentnost • Komunita Bez záruk -> větší míra odpovědnosti na uživatele Aktuální kontext: • Principy R a Replikačníkrize Instalace R Go gle download R All Images Videos Books News More Settings Tools About 1.780.000.000 results (0,57 seconds) Download R-3.4.1 for Windows. The R-project for statistical computing. https://cran.cnr.berkeley.edu/bin/windows/base/ ▼ Download R 3.4.1 for Windows (62 megabytes, 32/64 bit)... If you want to double-check that the package you have downloaded matches the package distributed ... R: The R Project for Statistical Computing https://www.r-project.org/ ▼ R is a free software environment for statistical computing and graphics. It compiles ... To download R, please choose your preferred CRAN mirror. If you have ... CRAN - Mirrors Of/src/base/R-3 R: What is R? The R Journal, Volume 9/1 R-3.4.1 for Windows (32/64 bit) Download R 3.4.1 for Windows (62 megabytes, 32/64 bit) Installation and other instructions New features in this version If you want to double-check that the package you have downloaded matches the package distributed by CRAN, you can compare the md5sum of the .exe to graphical and command line versions are available. Frequently asked questions • Does R run under my version of Windows? • How do I update packages in my previous version of R? • Should I run 32-bit or 64-bit R? Please see the R FAQ for general information about R and the R Windows FAQ for Windows-specific information. Other builds File Edit View Mise Packages Windows Help *■ u * (S o a R CD 1 R version 3.3.1 (2016-06-21) — "Bug in Your Hair" Copyright (C) 2016 The R Foundation for Statistical Computing Platform: i386-w64-mingw32/i3S6 (32-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()* for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()• for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'helpO' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > "Velmi útulné" [1] "Velmi útulné" > I v Instalace Rstudio All Videos Images News Shopping More ▼ Search tools About 2,280,000 results (0.44 seconds) Download RStudio - RStudio https://www.rstudio.com/products/rstudio/download3/ ▼ Aug 4, 2016 - RStudio is a set of integrated tools designed to help you be more productive with R. It includes a console, syntax-highlighting editor that... Download RStudio Server RStudio Release Notes RStudio Preview Installers for Supported Platforms Installers RStudio 1.0.153 - Windows Vista/7/8/10 RStudio 1.0.153 - Mac OS X 10.6+ (64-bit) RStudio 1.0.153 - Ubuntu 12.04-15.10/Debian 8 (32-bit) RStudio 1.0.153 - Ubuntu 12.04-15.10/Debian 8 (64-bit) RStudio 1.0.153 - Ubuntu 16.04+/Debian 9+ (64-bit) RStudio 1.0.153 - Fedora 19+/RedHat 7+/openSUSE 13.1+ (32-bit) RStudio 1.0.153 - Fedora 19+/RedHat 7+/openSUSE 13.1+ (64-bit) Size Date MD5 81.9 MB 2017-07-20 b3b4bbc82865abl05c21cb70bl7271b3 71.2 MB 2017-07-20 8773610566b74ec3ela88b2fdbl0c8b5 85.5 MB 2017-07-20 981be44f91fc07e5f69f52330da32659 91.7 MB 2017-07-20 2d0769bea2bf6041511d6901alcf69c3 61.9 MB 2017-07-20 d584cbab01041777al5d62cbef69a976 84.7 MB 2017-07-20 8dfee96059b05a063c49b705eca0ceb4 85.7 MB 2017-07-20 16c2c8334f961c65d9bfa8fb813ad7e7 Build Debug Tools Help __* Addins ■ 0J UntitledW x data ■■ ^ Z> D il") for ordered probit I Untitled^ x Q UntrtledlO' x fi Untitledl2" ■ Trans planningmodfIs.t _^Run ^Source • Environment History tff H _^Import Dataset» j£__ "1 Global Environment' Data Odata 2000 obs. of 57 variables values Outilities List of 5 hoice") sers/vG/oesktop/Připrava na konzultaci/Kvantitativní metodologie/Materiály poslané Standovi/testmodels.csv", header=T, sep= tics ••••• RUE, desc-TRUE, norm-FALSE, p-0.95); odel eded - Y e (Regressor) - x Crama_ R Scnpt - Bug in Your Hair" lation for statistical computing :64 (64-bit) dth ABSOLUTELY NO WARRANTY. e it under certain conditions. ' for distribution details. nth many contributors. ! information and or R packages in publications. 'helpO' for on-line help, or iwser interface to help. a] File» Plots Packages Help Viewe» Ol Install _^ Source • iS in r Its 6- C(0.100.200.0) 5] :(2.3)] >] <- 105 ;ales_by_month 0 Script , "cat", "dog", "turtle") ,2.3.4) ►[pets — "dog"] itJtVl 1 Data management/ O ■1ngw32/x64 (64-bit) d comes with absolutely no warranty. distribute 1t under certain conditions. HcenceQ' for distribution details. project with marry cont for more information a cite r or r packages Console e demos, 'helpO' for on-line help, or html browser interface to help. aching/stats/Ll - Data management") > R Script Environment History tff y Import Oataset- / Clear (§? A Global Environment« Workspace Files Plots Packages Help Viewer Q_j New Folder O Delete ^ Rename Jf More* □ $1 H<>m« Masaryk Teaching Stats LI ■ Data management * Name □ " jsou ekvivalentní formy zápisu Úvod do psaní kódu v R Psaní symbolů (např. "<") skrze pravý alt: Pravý alt + další písmeno na klávesnici, např.: • alt + . = > • alt + f = [ • alt + v = @ 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 Úvod do psaní kódu v R Jaksi "uklidit" pracovní prostor? Příkaz remove() • remove(CryptoCurrency) Jak si "říct o pomoc"? Symbol"?" před funkcí pro vyhledávání v dokumentaci R • ?remove Symbol"??" před funkcí pro vyhledávání příkazu napříč knihovnami • ??remove R jako kalkulačka Sčítání: + 420 + 0 [1 ] 420 Násobení: * 2*3 [1]6 Odčítání: - 333-12 [1J321 Dělení: / 1 12 [1] 0.5 Umocňování: A 16 A 2 [1] 256 Druhá odmocnina: sqrt(x) sqrt(256) [1]16 Objekty Reprezentují hodnoty (např. "0" nebo "Hruška") nebo jiné objekty (např. proměnná jako objekt v rámci datové matice, dalšího objektu). • Skrze označení (name) je možné vyvolat hodnotu nebo sadu hodnot v tomto objektu Bitcoin <- 3 Bitcoin IV 3 Etherium <- 4 Etherium [1]4 Kryptomeny = Bitcoin + Etherium Kryptomeny IV 7 Numerické versus stringové objekty Bitcoin = "Jedna" Bitcoin = Jedna Kryptomeny = Bitcoin + Error: object 'Jedna' not found EtheľiU m Error in Jablka + Hrušky: non-numeric argument to binary operator Objekty Předchozí příklady se týkaly vyvolání hodnoty. Co vyvolání sady hodnot? • Příkaz "c()M = sloučí "argumenty" (např. 1, 0.5 nebo "Muž") do jednoho vektoru, tedy sekvenci dat # Nejdříve vytvoříme objekt se zeměmi, kde se "těží" kryptoměny: • Místo = c("Čína", "ČR", "GB", "Čína") • Místo # Názvy sítí, kde se sdružují těžaři: • Síť = c("Antpool", "Slush", "BitcIub.Network", "Bixin") • Síť # Jaký je podíl zmíněných sítí na celku? • Podíl = c(25, 3, 5, 8) • Podíl Třídy objektů • Decimals values like 4.5 are called numerics. • Natural numbers like 4 are called integers. ■ Integers are also numerics. • Boolean values (TRUE or FALSE) are called logical. • Text (or string) values are called characters. ■ Uvozovky ("") indikují, že nějaký text je "character" # 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 myjogical s hodnotou FALSE myjogical <- FALŠE Typy objektů Logical Boolean values (TRUE or FALSE) are called logical. as.logical - classifies 0 as FALSE and anything other than 0 as TRUE • Podil = c(25, 3, 5, 8) • as.logical(Podil) ■ [1] TRUE TRUE TRUE TRUE is.logical - Create or test for objects of type "logical" • Podil = c(25, 3, 5, 8) • is.logical(Podil) ■ [1] FALSE Třídy objektů Jak poznat třídu dat? Funkce classQ: • class(my_numeric) • class(my_character) • class(myjogical) class(my_numeric) Factor [1] "numeric" treatment <- c("A", "A", "B"f "B"f "Placebo", "Placebo") treatments <- as.factor(treatment) class(my_character) [1] "character" class(treatment) is.factor(treatment) [1] "character" [1] FALSE classfmy logical) class(treatment.f) is.factor(treatment.f) [1,-loiical- <1l"foct°r" <"TRU£ R (programming language), (n.d.). In Wikipedia. Staženo dne 18. 9. 2016 z https://en.wikipedia.org/wiki/RJprogramming_language) Další čtení: http://wwwJnfoworld.co programming-language-statistical-data-analysis.html Cvičení Zadání Reportujte vždy patřičnou část kódu. Příklad řešení Doporučené domény -bloggers R news and tutorials contributed by (750) R bloggers Home About RS S add your blog! Learn R R jobs ▼ Contact us ^^^^^J Learn Teach Contribute Blog FAQ Help ^1 {swirl} Learn R, in R. kaCJCjIe ISearch kaggle Q Competitions Datasets Kernels Discussion Jobs Welcome to Kaggle Datasets The best place to discover and seamlessly analyze open data Built for developers GitHub is a development platform inspired by the way you work. From open source to business, you can host and review code, manage projects, and build software alongside millions of other developers. (9) DataCa m p Leam v THE EASIEST WAY TO Learn Data Science Online Master data analysis from the comfort of your browser, at your own pace, tailored to your needs and expertise. Whether you want to learn R, Python or Data Visualization, we want to help! ^^^^^^^^^^^^^^^^^^^P Python python §g spa&