######################################## Zpracování dat fyzikálních měření - 4. díl ######################################## # Nyní začneme více používat vestavěné funkce systému R. Není vždy úplně triviální správně zadat všechny parametry určité funkce # V případě problémů je dobré vyvolat nápovědu k dané funkci: # - Buď v pravém dolním okně otevřete záložku Help a do textového pole napíšete jméno funkce # - nebo spustíte příkaz ? ?mean # Většinou se také dá snadno najít řešení na různých internetových fórech (stačí trochu googlit) ########## Načítání vstupních dat ########## # Načtení vstupních dat ze souboru formátu csv a úprava, aby byly všechna data chápána jako čísla (typ numeric). # Místo ... doplňte cestu k souboru. Pro načítání vstupních dat vždy používejte tuto dvojici příkazů data <- read.csv("mereni1.csv", sep = ",") data <- data.frame(lapply(data, as.numeric)) data # V prostředí R lze statistické testy provádě buď pomocí přepsání vzorců (tj. přímého výpočtu testové # statistiky a kritického oboru), což je poměrně zdlouhavé, nebo využitím zabudovaných funkcí. # U základních testů si ukážeme oba přístupy, u složitějších pouze uvedeme vestavěnou funkci. ########## Jednovýběrový t-test ########## # definice střední hodnoty, kterou budeme chtít testovat mu_0 <- 20 # definice počtu měření n <- length(data$x) # Přímý výpočet testové statistiky T <- sqrt(n) * (mean(data$x) - mu_0) / sd(data$x) # Hladina testu alpha <- 0.05 # Kritický obor testu t <- qt(p = 1 - alpha / 2, df = n - 1) C1 <- c(-Inf, -t) C2 <- c(t, Inf) # Kritický obor je sjednocení množin C1 a C2 C1 C2 # Pro jednostrannou hypotézu a alternativu by se postupovalo obdobně # Vestavěná funkce (na výstupu nabídne více hodnot, nejdůležitější jsou: testová statistika t, p-hodnota p) # Porovnejte s předchozím kódem - výsledky jsou identické t.test(data$x, mu = 20, alternative = "two.sided", conf.level = 0.95) # Případně lze zvolit jiné hodnoty argumentu alternative a conf.level t.test(data$x, mu = 20, alternative = "less", conf.level = 0.95) t.test(data$x, mu = 20, alternative = "greater", conf.level = 0.95) ########## Dvouvýběrový z-test ########## # V prostředí R je pro dvouvýběrový z-test stejná funkce jako pro jednovýběrový t-test, # jen se musí zavolá s jinými argumenty (se dvěma vektory vstupních dat). t.test(data$y, data$z, alternative = "two.sided", conf.level = 0.95) ########## Chi kvadrát test rozptylu ########## # je potřeba použít funkci z balíků, které musíme nejprve instalovat installed.packages("TeachingDemos") library(TeachingDemos) # Chceme například otestovat, že rozptyl náhodné veličiny, ze které pocházejí měřená data data$y je roven 0.2 sigma.test(data$y, sigma = 0.2, alternative = "two.sided", conf.level = 0.95) # úpravou argumentu alternative se dá testovat hypotéza, že rozptyl je menší/větší než určitá konstanta ########## Kolmogorovův-Smirnovův test ########## # první argument udává měřená data, druhý argument udává testované rozdělení # - pnorm pro normální rozdělení # - pexp pro exponenciální rozdělení ks.test(data$Vzorek_1, "pnorm") # Warning message můžete v tomto případě ignorovat # Pro vyřešení úkolu d) je potřeba zkusit otestovat všechny 4 vzorky na normální / exponenciální rozdělení a určit, # který nezámítá hypotézu. ########## Test korelačního koeficientu ########## # Předpokládejme například, že chceme otestovat, zda je korelace mezi náhodnými veličinami, ze kterých pocházejí # měření data$y a data$z, nulová či nikolv cor.test(data$y, data$z, alternative = "two.sided", conf.level = 0.95)