Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Cvičení 1

Úvod do DVZ
  • úloha DVZ v kostce
  • data mining vs. statistika
Instalace R, R studio
  • instalace R CRAN web, R studio Rstudio download
  • přehled (konzole, workspace)
  • nastavení pracovního adresáře (menu Session - Set Working Directory)
Úvod do R

Příklady byly převzaty z knížek Data mining with R a R Cookbook a dále upraveny.

  • Přiřazení a základní datové typy

    a <- 39
    b <- 12 + 16i
    c <- 'hello'
    d <- T
    e <- NA 
    str(a)  
    rm(a)
    ls()
    rm(list=ls())
    ls()
    

  • Vektory

    a <- c(4,7,23.5,76.2,80)
    length(a)
    mode(a)
    str(a)
    
    a[2]

    b <- c(4,6,8,24)
    c <- c(10,2,4)
    
    b + c
    
    x <- c(0,-3,4,-1,45,90,-5)
    y <- x > 0
    y <- x[x > 0]
    

  • Factors - reprezentace kategorických proměnných - např. pohlaví pacientů

    g <- c('f','m','m','m','f','m','f','m','f','f')
    g <- factor(g)
    str(g)
    table(g)
    g <- factor(c('m','m','m','m'), levels = c('f','m'))
    str(g)
    

  • Lists - generalizace vektorů - kolekce objektů

    a <- c('jkl',12,T,F,NA)
    str(a)
    a <- list('jkl',12,T,F,NA)
    str(a)
    

  • Matice

    m <- matrix(c(45,23,66,77,33,44,56,12,78,23),nrow=2,ncol=5)
    m <- matrix(c(45,23,66,77,33,44,56,12,78,23),nrow=2,ncol=5,byrow=T)
    m[2,3]
    m[1,]
    m[,4]
    m[1,c(3,5)]
    m[1,-c(3,5)]
    
    m <- matrix(rep(10,20),nrow=4,ncol=5)
    
    results <- matrix(c(10,30,40,50,43,56,21,30),nrow=2,ncol=4,byrow=T)
    colnames(results) <- c('1qrt','2qrt','3qrt','4qrt')
    rownames(results) <- c('store1','store2')
    results['store1',]
    results['store2',c('1qrt','4qrt')]
    

  • Data Frames

    data <- data.frame(site=c('A','B','A','A','B'), season=c('Wi','Su','Su','Sp','Fa'), pH=c(7.4,6.3,8.6,7.2,8.9))
    data$site
    data$pH
    data[1,]
    data[,1]
    data[data$pH>7,]
    data[data$site=='A',]
    data$NO3 <- c(234.5,256.5, 654, 356.7,776.4)
    
    t <- c(-12.5, 28.4, 31.2, 14, 8.9)
    data <- cbind(data,t)
    
    s <- c('B','Wi',7.5,1)
    data <- rbind(data,s)
    nrow(data)
    ncol(data)
    dim(data)
    names(data)
    names(data)<-c('area','season','pH','NO3')  

    table(data$site)    
    str(data)
    summary(data)
    

  • Generování dat

    x <- 1:1000
    seq(from=-2,to=1,by=0.5)
    seq(from=1, to=5, length.out=4)
    seq(from=2,to=-2,by=-0.2)
    rep(5,times=10)
    rep(1:2,times=3)
    gl(2,5,labels=c('female','male')
    rnorm(10) # runif, rbinom, rpois,...
    rnorm(4, mean=10, sd=3)
    

  • Řídící struktury

    if ( podmínka ) { příkazy } else { příkazy }

    for ( přes co iterovat ) { příkazy }

    while ( podmínka ) { příkazy }

    repeat { příkazy }

    break
    next
    
    f <- function ( parametry ) {
    
    příkazy
    
    return( výsledek )
    } 
    

Podrobnější informace lze nalézt na stránkách http://www.r-project.org/ v sekci Manuals.

Instalace balíků, nastavení workspace v RStudiu
  • instalace potřebných balíků: install.packages(“package_names”)
  • nahrání potřebných balíků: library(package_names)
  • nastavení workspace v RStudiu: Menu Session → Set Working Directory → Choose Directory, nebo pomocí příkazů setwd(), getwd()

Úkol: Nainstalujte balík ggplot2 a nastavte si pracovní adresář v RStudiu

Psaní funkcí v RStudiu

Podrobný návod lze najít na Editing and Executing Code

Úkol: Napište funkci pro nalezení modus veličiny x (modus náhodné veličiny X je hodnota, která se v daném statistickém souboru vyskytuje nejčastěji). Později tuto funkci použijeme pro průzkumovou analýzu dat.

R cheat sheet
courses/a6m33dvz/cviceni/01-zakladyr.txt · Last modified: 2017/10/05 14:20 by anyzjiri