Programovací jazyk R a práce s ním Vít Gabrhel vit.gabrhel@mail.muni.cz FSS MU, 19. 9. 2016 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: PSY232 / PSY532 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 + bnX n # Multiple Linear Regression Example fit <- lm(y ~ xl + x2 + x3, data=mydata) Y' = bo + biXi + b2X2 + ... + bnXn + e summary(fi t) # show results 2) Prostředí pro provádění analýz a vizualizací 48 52 value Představení jazyka R "WiQtnrio" I I I O I I V.* (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 > Košik_Jablek =1+2+4+8 > Košík_Jablek 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ů Představení jazyka R Myšlenkové zázemia 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 News Books More ▼ Search tools About 1,080,000,000 results (0.55 seconds) Download R-3.3.1 for Windows. The R-project for statistical computing. nnps://cran.r-project.org/Din/wmaows/Dase/ ▼ If you want to double-check that the package you have downloaded exactly matches the package distributed by R, you can compare the md5sum of the .exe to ... R for Windows FAQ R News Previous Releases of R R-3.2.1 Patched build You've visited this page 3 times. Last visit: 9/14/16 R-3.3.1 for Windows (32/64 bit) [Download R 3.3.1 for Windows (70 inesabvtes. 32 64 bit) | Installation and other instructions New features in this version If you want to double-check that the package you have downloaded exactly matches the package distributed by R. you can compare the md>sum of the exe to the true fingerprint. Frequently asked questions • Does R run under my version of Windows? • How do I update packages in mv 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 Wmdows FAQ for Windows-specific information. Other builds • Patches to this release are incorporated in the r-patched snapshot build. • A build of the development version (which will eventually become the next major release of R) is available m the r-devel snapshot build. • Previous releases Note to webmasters: A stable link which will redirect to the current Windows binary release is CRAN MIRROR- bin wmdows base release.htm. Last change: 2016-06-21. by Duncan Murdoch File Edit View Mise Packages Windows Help E3 o is onsole R version 3.3.1 (2016-06-21) — ,r3ug in Your Hair" Copyright (C) 2016 The R Foundation for Statistical Computing Platform: i3S6-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 Instalace Rstudio Go gle 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 0.99.903 - Windows Vista/7/8/10 RStudio 0.99.903 - Mac OS X 10.6+ (64-bit) RStudio 0.99.903 - Ubuntu 1204+/Debian 8+ (32-bit) RStudio 0.99.903 - Ubuntu 1204+/Debian 8+ (64-brt) RStudio 0.99.903 - Fedora 19+/RedHat 7+/openSUSE 13.1+ (32-bit) RStudio 0.99.903 - Fedora 19+/RedHat 7+/openSUSE 13.1+ (64-bit) Size Date MD5 77.1 MB 2016-07-18 716f28f2143c5e21f4acea5752e284f8 60 MB 2016-07-18 Cll4al585b5a5ac0839507b9c04d460d6 81.6 MB 2016-07-18 761eae80b0ba4d4cd9051a802a2c44e2 88.3 MB 2016-07-18 98ea59d3db00e0083d3e4053514f764d 81MB 2016-07-18 Ce2eal023d99175cb909def0fe66eba7 81.9 MB 2016-07-18 152f247255e86904cf3354afbc7b3b99 Build Debug Tools Help Addinj Oj Untrtledl6' x jdatax ©J_.Rx ?J Untrtler»' x Q UntitledlO- x OJ Untitledl2' 4 Z:> O _ ll") for ordered probit Rstudio gmodílí.r x » 1*^ Qř Source • Environment History tj* H _3* Import Dataset -1 Global Environment* Data O data values O utilities :hoice") 2000 obs. of 57 variables List of 5 isers/vG/Oesktop/Připrava na konzultaci/Kvantitativni metodologie/Materiály poslané standovi/testtnodels.csv", header=T, sep= Tics ##### "RUE, desc-TRUE, lodel leded - Y e (Regressor) i rn«o_ norm-FALSE, p-0.95); R Script -- Bug in Your Hair" lation for statistical Computing (64 (64-b1t) tfith ABSOLUTELY NO WARRANTY. :e it under certain conditions. I' for distribution details. nth many contributors. > information and or R packages in publications. 'helpO' for on-line help, or )wser interface to help. :a] Files Plot! Ol Install Packages 0 Update Help Viewer □ class cluster Name Description System Library □ A£R Applied Econometrics with R Amelia A Program for Missing Data assertthat Easy pre and post assertions. Q BH Boost C*« Header Files boot Bootstrap Functions (Onginally by Angelo D cw Companion to Applied Regression Functions for Classification Finding Groups in Data": Cluster Analysis etal. coda Output Analysis and Diagnostics for MCM codetools Code Analysis Tools for R compiler The R Compiler Package datasets The R Datasets Package DBI R Oatabase Interface dpryr A Grammar of Data Manipulation foreign Read Data Stored by Minrtab. S, SAS, SPSS. dBase.... Formula Extended Model Formulas geepack Generalized Estimating Equation Package graphics The R Graphics Package grDevices The R Graphics Devices and Support for C< —i "........ - s Session Build Debug Tools Help RStudio _+Run ^> _^ 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 = @ Proč nefunguje příkaz 7 = 3 + 4? invalid (do_set) left-hand side to assignment 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 Jak si "uklidit11 pracovní prostor? Příkaz removeO • remove(my_numeric) 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 m e Umocňování: A 16 A 2 [1] 256 Odčítání: - 333-12 [1J321 Dělení: / 1 12 [1J0.5 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 Jablka <- 3 Ovoce = Jablka + Hrušky Jablka Ovoce [1] 3 [1] 7 Hrušky <- 4 Numerické versus stringové objekty Hrušky Hrušky = Jedna Hrušky = "Jedna" [1]4 Error.objectjednďnotfound Ovoce = Jablka + Hrušky Error in Jablka + Hrušky: non-numeric argument to binary operátor Objekty Předchozí příklady se týkaly vyvolání hodnoty. Co vyvolání sady hodnot? # Přestavte si, že plánujete uspořádat večírek a k vytvoření seznamu pozvaných se rozhodnete využít R. # Příkaz "c()M = sloučí "argumenty" (např. 1, 0.5 nebo "Muž") do jednoho vektoru, tedy sekvenci dat # Nejdříve jejich jména: • Pozvaní = c("Elisa"f "Kai", "Edu", "Daphne") • Pozvaní # Co vezmou s sebou? • Dary = c("Aktivity", "Míč", "Knihu", "Láhev vína") • Dary # A kolik toho bude? • Množství=c(1,3, 2,10) • Množství 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 42.5 my_numeric <- 42.5 # Vytvořte objekt myjogical s hodnotou "universe" my_character <- "some text" # 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 • Mnozstvi = c(1,3, 2,10) • as.logical(Mnozstvi) ■ [1] TRUE TRUE TRUE TRUE is.logical - Create or test for objects of type "logical" • Mnozstvi = c(1,3, 2, 10) • is.logical(Mnozstvi) ■ [1] FALSE Třídy objektů Jak poznat třídu dat? Funkce classQ: class(my_numeric) class(my_character) class(myjogical) class(my_numeric) [1] "numeric" class(my_character) [1] "character" class(myjogical) [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 Zdroje R (programming language), (n.d.). In Wikipedia. Staženo dne 18. 9. 2016 z https://en.wikipedia.org/wiki/RJprogrammingJanguage) Další čtení: http://wwwJnfoworld.com programming-language-statistical-data-analysis.htrril Cvičení PSY232 / PSY532 Reportujte vždy patřičnou část kódu. Príklad zadání: # Vytvořte proměnnou Přáteléjména, která bude obsahovat hodnotu "Luděk", "Eleonora" a "Vladislav". Příklad řešení: Přáteléjména = c("Luděk", "Eleonora", "Vladislav")