# vytvořit nový projekt: tlačítko nebo FILE -> NEW PROJECT... # jeden adresář = jeden projekt # nastavit pracovní adresář: SESSION -> SET WORKING DIRECTORY # typicky je pracovní adresář tam, kde je uložen projekt # upravit pracovní plochu = pozice panelů: VIEW -> PANES -> PANE LAYOUT... # vytvořit soubor pro zdrojový kód: tlačítko nebo FILE -> NEW FILE -> R SCRIPT # kódování češtiny ve zdrojovém kódu: CP1250, někdy UTF-8 # kódování již existujícího zdrojového souboru: FILE -> REOPEN WITH ENCODING... # importovat data (z Excelu): FILE -> IMPORT DATASET -> FROM EXCEL... # nebo příkazem library(readxl) # toto je potřeba jen poprvé pastelky <- read_excel("_cvicna_data.xlsx", sheet = "pastelky") View(ryby) # otevře načtenou tabulku v nové záložce tohoto okna # data je možné načítat i z jiných formátů, nepř. ".txt", ".csv" a další # Ctrl+Enter ... pošle příkaz z tohoto souboru na konzoli # Crtl+1 ... přepne do zdrojového souboru, kurzor bliká v tomto souboru # Crtl+2 ... přepne do konzole, kurzor bliká na příkazovém řádku # další klávesové zkratky v záložce VIEW # data.frame / vector / matrix / ... # numeric / character / factor # základní přehled o datech: summary(pastelky) # vypiš tabulku hodnot a příslušné počty: table(pastelky$barva) table(pastelky$vyber) table(pastelky$delka) # jde to i pro čísla table(pastelky$tloustka) table(pastelky$ostrost) # jenom jména proměnných: names(pastelky) # jenom druhé jméno: names(pastelky)[2] # druhé jméno chci změnit na "kus" names(pastelky)[2]<-"kus" names(pastelky)[2] summary(pastelky) # zpřístupní objekt "pastelky": attach(pastelky) # odpojit: detach(pastelky) # čísla / znaky / faktory # vypiš všechny hodnoty z proměnné "delka" delka # kolik hodnot je v proměnné "delka"? length(delka) # vypiš 7. hodnotu: delka[7] # které hodnoty proměnné "delka" jsou větší než 11 cm? which(delka>11) which.max(delka) # která hodnota je nejvyšší? # vypiš všechny informace o nejdelší pastelce pastelky[8,] pastelky[,3] # ulož barvy jako faktor: pastelky$barva<-as.factor(barva) # POZOR PAST! když napíšete jen barva<-as.factor(barva) # je to příkaz: vytvoř nový objekt "barva" a ulož do něj hodnoty z objektu # "pastelky$barva" jako faktor. Vytvoří se tedy nový objekt, ale v pastelkách se nic nezmění! # kontrola, jestli se něco změnilo: is.factor(pastelky$barva) is.factor(barva) summary(pastelky) # taky charakteristiky "tloustka" a "ostrost" chceme mít jako faktory: pastelky$tloustka=as.factor(tloustka) pastelky$ostrost<-as.factor(ostrost) summary(pastelky) # RADA: PRŮBĚŽNĚ KONTROLOVAT, JESTLI SE DĚJE TO, CO JSEM SI PŘEDSTAVOVAL/A # uložit data jako samostatný soubor: save(pastelky, file="pastelky.RData") # odstranit nechtěný objekt: rm(barva) # podrobnější tabelace hodnot: table(tloustka, ostrost) table(ostrost, tloustka) # základní popisné charakteristiky mean(delka) # aritmetický průměr var(delka) # variabilita, rozptyl v délce pastelek sd(delka) # směrodatná odchylka max(delka) # největší hodnota min(delka) # nejmenší hodnota median(delka) # prostřední hodnota mean(barva) # nemá smysl -> vypíše varování table(barva) # kvalitativní data charakterizujeme např. jako počty v kategoriích # zajímavé bývají proporce / procentuelní zastoupení v kategoriích prop.table(barva) # jenže takhle to ještě nefunguje, protože proměnná "barva" nemá čísla prop.table(table(barva)) # takhle už to funguje, protože "table(barva)" vrátí řadu čísel, počty # výběr podle faktoru: více možností which(pastelky$tloustka=="tlusta") # na kterých řádcích jsou tlusté pastelky? tl<-which(pastelky$tloustka=="tlusta") # čísla řádků uložím do nové proměnné "tl" mean(pastelky$delka[tl]) # průměr délek spočítám jen z vybraných řádků # nebo mean(delka[tloustka=="tlusta"]) # musí být attach(pastelky) mean(delka[tloustka=="tenka"]) # nebo with(subset(x=pastelky, tloustka=="tlusta"), mean(delka)) # může být i detach(pastelky) # bodový graf (scatterplot) plot(delka) plot(delka, xlab="pořadí", main="Délka pastelek podle pořadí", ylim=c(0,18)) abline(h=mean(delka),lty=2) # horizontální čára na průměrné délce text(6,12.5, labels = "průměr") text(6,11,expression(mu), col="red") # pořadí hodnot, uspořádané hodnoty delka # hodnoty tak, jak jsme je zapsali do tabulky sort(delka) # hodnoty od nejmenší po největší rank(delka) # pořadí hodnot, různé nastavení pro počítání pořadí ve shodách (ties) order(delka) # souřadnice hodnot od nejmenší po největší # vypiš třetí nejmenší hodnotu: sort(delka)[3] # vypiš dva řádky: hodnoty od nejmenší po největší a jejich původní pořadí rbind(sort(delka),order(delka)) # krabicový graf boxplot(delka, main="Délka pastelek ve výběru kaki") title(sub = "outlier - min - Q1 - median - Q3 - max") # histogram hist(delka, main="Délka pastelek ve výběru kaki", ylab="četnosti", xlab="délka [cm]") # duhový koláčový graf pie(rep(1, 24), col = rainbow(24), radius = 0.9) # sloupcový graf barplot(delka) barplot(barva) # takhle to nefunguje ... barplot(table(barva), main="Četnosti pastelek podle barvy") # barvičky barplot(table(barva), main="Četnosti pastelek podle barvy", col=c("brown","blue","pink","gray", "green", "yellow"))