####################################################################################### ################ Statistická laboratoř - Zimní škola ################################## ################ Základy práce s jazykem R ################################## ############### Adéla Vrtková, Martina Litschmannová ################################## ####################################################################################### # jednoduché početní operace 2+4 5/2 # POZOR na závorky! Pro počítání se používají pouze kulaté! Hranaté a složené mají v R jinou funkci! (((10+2)*(340-33))-2)/3 ####################################################################################### # datové typy -> numeric, character, logical, (complex) # funkcí class zjišťujeme typ objektu a=2+3 class(a) b="pismenko" class(b) c=(1>3) class(c) d=3+1i class(d) ####################################################################################### ## datové struktury v R # vector (rozumíme sloupcový vektor) # factor (speciální případ vektoru) # matrix (matice s rozměry n x m) # data.frame (datový rámec s rozměry n x p) # list (seznam) ####################################################################################### ## definování vektoru (sloupcový=column) a = c(3,4,6,7) a <- c(3,4,6,7) a a[2] #další možnosti rep(1,4) # vytvoří vektor se čtyřmi jedničkami # vsuvka - nevíme si rady? -> podívejme se do nápovědy ?rep help(rep) seq(1,10,2) #posloupnost od 1 do 10 s krokem 2 1:10 #posloupnost od 1 do 10 s krokem 1 b=c("A","B","C","D") class(b) #práce s vektory - slučování podle sloupců/řádků cbind(a,b) rbind(a,b) #předefinování objektu na jiný typ - např. as.vector, as.matrix, as.factor,... bb=as.factor(b) class(bb) bb ####################################################################################### ## definování matice A=matrix(c(3,4,6,7,3,2),nrow=2,ncol=3) A B=matrix(c(3,4,6,7,3,2),nrow=2,ncol=3,byrow=TRUE) B C=matrix(c(3,4,6,7,3,2),nrow=3,ncol=2) C A[1,3] A[1,] A[,2:3] #diagonální matice diag(4) diag(4,2) ## operace s maticemi - pozor na maticové násobení -> %*% A+B A-B A*B A%*%C ###################################################################################### ## Instalace a spuštění rozšiřujících balíčků funkcí # Instalování balíčku - provádíme pouze jednou install.packages("datasets") # Načtení balíčku (nutno opakovat při každém novém spuštění Rka, vhodné mít na začátku skriptu) library(datasets) # nápověda k balíčku library(help = "datasets") Orange ####################################################################################### ## datový rámec - získáme (většinou) importováním dat ze souboru (csv, txt, xls,...) # POZOR! nezbytné nastavení pracovního adresáře (working directory) getwd() # zjištění současného pracovního adresáře setwd("C:/Users/Skripty") # změna pracovního adresáře data=read.csv2("aku_new.csv",header=TRUE) # import dat z pracovního adresáře data=read.csv2("C:/Users/aku_new.csv",header=TRUE) # import dat z lokálního disku data=read.csv2(file="http://am-nas.vsb.cz/lit40/DATA/aku_new.csv") # import dat z internetu library(readxl) # načtení dat z xlsx souboru pomocí balíčku readxl data <- read_excel("C:/Users/Desktop/aku_new.xlsx",skip = 3) # další parametry nalezneme v nápovědě -> ?read_excel nebo help(read_excel) #práce s datovým rámcem (data frame) rownames(data) colnames(data) data[["A"]] data$A # export dat write.csv2(Orange,file="C:/Users/Desktop/data.csv") ###################################################################################### # definování vlastní funkce - nazev <- function(proměnné){.......} prepona = function(x,y){ sqrt((x^2)+(y^2)) } prepona(10,15) ## Shrnutí, doporučení, rady # 1. pozor na závorky -> ( ) při počítání, [ ] odkazují na prvek ve vektoru/matici/data.framu, { } používají se při cyklech # 2. brát v úvahu typ objektu # 3. používat nápovědu - např. ?seq, nebo help(matrix) # 4. nastavení Working Directory # 5. pozor na mezery v názvu proměnných, rozlišování velkých a malých písmen