← zpět

Statistika a R

Co jsme dnes dělali

Regulární výrazy

Zopakovali jsme si jednoduché regulární výrazy.

import re

# search hleda prvni vyskyt vzoru v retezci
m = re.search(r'\d+', 'abc123def')  # najde '123'
print(m.group())

# match hleda vzor na zacatku retezce
re.match(r'\d+', '123abc')  # najde '123' na zacatku retezce

# findall hleda vsechny vyskyt vzoru v retezci
re.findall(r'\d+', 'abc123def456')  # najde vsechny vyskyt vzoru, vrati seznam ['123', '456']

Statistika

R

# Prace s vektory

aq <- na.omit(airquality)  # Odstranění řádků s NA hodnotami

head(aq)
dim(aq)
names(aq)
summary(aq)

# Access

aq$Temp

aq[1, ] # prvni radek
aq[, 1] # prvni sloupec
aq[, "Ozone"] # sloupec s nazvem Ozone
aq[1:10, ] # prvnich 10 radku

# Filtrovani

aq[aq$Month == 7, ]           # Jen cervenec
aq[aq$Temp > 90, ]            # Dny s teplotou nad 90
aq[aq$Month == 8 & aq$Temp > 90, ]  # Dny v srpnu s teplotou nad 90
aq$Ozone[aq$Month == 8]      # Hodnoty ozonu v srpnu

# Zaklady statistiky

mean(aq$Temp)      # prumer
median(aq$Temp)    # median

sd(aq$Temp)        # smerodatna odchylka
var(aq$Temp)       # rozptyl
IQR(aq$Temp)       # interkvartilove rozpeti
CV <- sd(aq$Temp) / mean(aq$Temp)  # koeficient variace

summary(aq$Temp)   # souhrnne statistiky

quantile(aq$Temp, probs = c(0.25, 0.5, 0.75))  # kvartily

table(aq$Month)  # frekvenční tabulka

sum(aq$Ozone[aq$Month == 7])  # soucet vsech mereni ozonu v cervenci
# Kdyz pouzijeme `sum` na vektor, kde jsou TRUE nebo FALSE, tak dostaneme pocet TRUE hodnot

cor(aq$Temp, aq$Ozone) # korelace - teplota zvysuje mnozstvi ozonu
cor(aq$Wind, aq$Ozone) # korelace - vitr snizuje mnozstvi ozonu, protoze rozptyluje znecistujici latky

Úlohy do hodiny

Budete používat dataset mtcars, který je součástí R. Pochází z časopisu Motor Trend a obsahuje technické údaje o různých modelech aut z roku 1974.

  1. Spočtěte průměrnou spotřebu paliva (mpg) pro všechny auta v datasetu.
  2. Spočtěte směrodatnou odchylkku spotřeby paliva (mpg) a výkonu v koních (hp). Která z těchto veličin má větší variabilitu (jak moc se liší od průměru)? Použijte variační koeficient.
  3. Najděte 25. a 75. percentil pro hmotnost auta (wt). Kolik aut spadá mezi tyto percentily? Je tohle číslo významné?
  4. Zjistěte, kolik aut má jaký počet převodových stupňů (gear). Použijte frekvenční tabulku.
  5. Jaký je průměrný výkon (hp) aut s manuální a automatickou převodovkou (am)? Který typ převodovky má vyšší průměrný výkon? Tipnete si proč?

Těžší úlohy, pokud máte vše hotové:

  1. Která proměnná má nejsilnější korelaci se spotřebou?
  2. Najděte tři auta s nejvyšší a nejnižší spotřebou paliva. Použijte funkci order().