Wprowadzenie do obsługi programu R
R jest środowiskiem, w którym są dostępne metody statystyczne oraz metody analizy i wizualizacji danych W ponad tysiącu pakietów dodatkowych udostępniona jest większość metod klasycznej i współczesnej statystyki System R oraz prawie wszystkie jego pakiety dodatkowe są darmowe do wszelkich zastosowań (licencja GNU GPL) R jest oparty na języku programowania. Oznacza to ogromną elastyczność systemu. Żeby korzystać z R nie trzeba jednak ani być programistą, ani nawet umieć programować Wprowadzenie do obsługi programu R
Co potrafi R? obsługa danych praktycznie dowolnego rodzaju (np. MySQL, Oracle, ODBC, XML, SAS i wiele innych), ogromna liczba gotowych do użycia narzędzi statystyki i analizy danych, ogromne możliwości graficzne, grafika o jakości prezentacyjnej (do raportów, prezentacji i publikacji), operacje macierzowe, prosty i efektywny język programowania R (w tym elementy programowania obiektowego), możliwość integracji z praktycznie ze wszystkimi językami programowania i z wieloma innymi narzędziami (Excel, Statistica itp.). Wprowadzenie do obsługi programu R
> 2*2 [1] 4 > 2+2 [1] 4 > 4-2 [1] 2 > 4/2 [1] 2 > 2^2 [1] 4 > sqrt(4) [1] 2 > (2+2)^2-sqrt(2+2) [1] 14 > pi [1] > x <- 2+2 > xlub > print(x) [1] 4 Wprowadzenie do obsługi programu R Podstawowe operacje arytmetyczne
Typy obiektów wektor – ciąg liczb, łańcuchów znaków tekstowych itp. konstruktor: wektor <- c(wartości ciągu oddzielone przecinkami) np. > x <- c(1,2,3,4,5,6,7,8,9,10) >x <- c(1:10) #ciąg rosnący od 10 do 1 >y <- c(10:1) #ciąg malejący od 10 do 1 >is.vector(x) #sprawdzenie czy zmienna x jest wektorem [1] TRUE Wprowadzenie do obsługi programu R
Typy obiektów wektor – ciąg liczb, łańcuchów znaków tekstowych itp. > dane=c(11,13,2,5,8,9,14,6,10,7) > dane [1] > length(dane) [1] 10 > sort(dane) [1] > summary(dane) Min. 1st Qu. Median Mean 3rd Qu. Max > mean(dane) [1] 8.5 > var(dane) [1] > sd(dane) [1] Wprowadzenie do obsługi programu R
Typy obiektów lista – obiekt złożony zawierający wiele informacji o różnym typie konstruktor: lista <- list(różne typy danych oddzielone przecinkami) > dane=c(11,13,2,5,8,9,14,6,10,7) > opis <- list(srednia=mean(dane), minimum=min(dane), maksimum=max(dane)) > print(opis) $srednia [1] 8.5 $minimum [1] 2 $maksimum [1] 14 Wprowadzenie do obsługi programu R
Typy obiektów tablica – obiekt jedno lub wielowymiarowy zawierający informacje o uporządkowaniu elementów konstruktor: tablica <- array(dane, rozmiar) > tablica <- array(c(2,3,4,5,6,7),c(2,3)) > tablica [,1] [,2] [,3] [1,] [2,] > tablica[2,2] [1] 5 Wprowadzenie do obsługi programu R
Typy obiektów tablica – obiekt jedno lub wielowymiarowy zawierający informacje o uporządkowaniu elementów > dane=c(11,13,2,5,8,9,14,6,10,7) > dim(dane) = c(2,5) > dane [,1] [,2] [,3] [,4] [,5] [1,] [2,] > nrow(dane) [1] 2 > ncol(dane) [1] 5 Wprowadzenie do obsługi programu R
Typy obiektów macierz – tablica dwuwymiarowa konstruktor: macierz <- matrix(dane, liczba_kolumn, liczba_wierszy) > macierz <- matrix(c(1,3,4,-1,2,4,3,2,1), ncol=3, nrow=3) > macierz [,1] [,2] [,3] [1,] [2,] [3,] Wprowadzenie do obsługi programu R
Typy obiektów tabela danych (ramka, data.frame) – macierz, w której poszczególne kolumny mogą zawierać wartości różnego typu konstruktor: tabela.danych <- data.frame(różne typy danych oddzielone przecinkami) > tabela.danych <- data.frame(LETTERS[1:10], 1:10, rep(c(F, T), 5)) > names(tabela.danych) <- c("Inicjał", "Kolejność", "Czy parzysty?") Wprowadzenie do obsługi programu R
Typy obiektów tabela danych (ramka, data.frame) – macierz, w której poszczególne kolumny mogą zawierać wartości różnego typu > tabela.danych Inicjał Kolejność Czy parzysty? 1 A 1 FALSE 2 B 2 TRUE 3 C 3 FALSE 4 D 4 TRUE 5 E 5 FALSE 6 F 6 TRUE 7 G 7 FALSE 8 H 8 TRUE 9 I 9 FALSE 10 J 10 TRUE Wprowadzenie do obsługi programu R
Przykład: test χ 2 – wprowadzenie danych przy pomocy wektorów > dawka1=c(10, 48, 35, 10, 6) > dawka2=c(38, 90, 20, 12, 8) > dawka3=c(96, 55, 10, 6, 5) Wprowadzenie do obsługi programu R
Przykład: test χ 2 – wprowadzenie danych przy pomocy wektorów > dawka1=c(10, 48, 35, 10, 6) > dawka2=c(38, 90, 20, 12, 8) > dawka3=c(96, 55, 10, 6, 5) > chisq.test(cbind(dawka1, dawka2, dawka3)) # cbind tworzy obiekt typu tabela danych (data.frame) ! Pearson's Chi-squared test data: cbind(dawka1, dawka2, dawka3) X-squared = , df = 8, p-value < 2.2e-16 Wprowadzenie do obsługi programu R
Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych przy pomocy wektorów > zap1=c(4.2, 4.3, 3.7, 4.7, 4.6) > zap2=c(4.6, 4.9, 5.0, 4.5, 5.5) > zap3=c(4.7, 4.7, 5.6, 5.2, 4.8) > zap4=c(5.8, 4.9, 5.7, 5.6, 7.0)
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych przy pomocy wektorów > zap1=c(4.2, 4.3, 3.7, 4.7, 4.6) > zap2=c(4.6, 4.9, 5.0, 4.5, 5.5) > zap3=c(4.7, 4.7, 5.6, 5.2, 4.8) > zap4=c(5.8, 4.9, 5.7, 5.6, 7.0) > dane1 = data.frame(wyniki=c(zap1, zap2, zap3, zap4),zapylenie=rep(1:4,each=5))
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych przy pomocy wektorów > dane1 wyniki zapylenie
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych przy pomocy wektorów I etap – ocena jednorodności wariancji testem Bartletta > bartlett.test(wyniki~zapylenie, dane1) Bartlett test of homogeneity of variances data: wyniki by zapylenie Bartlett's K-squared = , df = 3, p-value =
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych przy pomocy wektorów II etap – weryfikacja Ho: µ zap1 = µ zap2 = µ zap3 = µ zap4 Wykorzystanie wbudowanej funkcji aov lub użycie aov jako parametru polecenia anova > aov(wyniki~factor(zapylenie),dane1) Call: aov(formula = wyniki ~ factor(zapylenie), data = dane1) Terms: factor(zapylenie) Residuals Sum of Squares Deg. of Freedom 3 16 Residual standard error: Estimated effects may be unbalanced
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych przy pomocy wektorów II etap – weryfikacja Ho: µ zap1 = µ zap2 = µ zap3 = µ zap4 Wykorzystanie wbudowanej funkcji aov lub użycie aov jako parametru polecenia anova > anova(aov(wyniki~factor(zapylenie),dane1)) Analysis of Variance Table Response: wyniki Df Sum Sq Mean Sq F value Pr(>F) factor(zapylenie) ** Residuals Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych z pliku przy pomocy funkcji read. Plik powinien mieć jeden z formatów akceptowanych przez polecenie read. tj. txt lub csv (dozwolone są separatory typu spacja, przecinek i średnik) Konstruktor: read.obiekt_do_wczytania(plik, parametry ) Ścieżka dostępu zapisywana jest w następujący sposób: dla plików umieszczonych w sieci: " dla plików na dysku lokalnym: "c:/nazwa_katalogu/nazwa_pliku" Ścieżkę dostępu można wcześniej zdefiniować tak, aby obowiązywała dla wszystkich plików wczytywanych i zapisywanych w ramach danej procedury
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych z pliku przy pomocy funkcji read. Ścieżka dostępu sprawdzenie aktualnej ścieżki: > getwd() ustawienie ścieżki: > setwd("matrix.ar.krakow.pl/~twojtowicz/nazwa_pliku") lub setwd("c:/nazwa_katalogu/nazwa_pliku")
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych z pliku przy pomocy funkcji read. Przygotowanie pliku: po odpowiednim ułożeniu danych w arkuszu kalkulacyjnym należy zapisać plik z rozszerzeniem.csv (MS-DOS) lub.txt (tekst rozdzielany znakami tabulacji) Przygotowanie środowiska R należy ustawić ścieżkę dostępu do katalogu zawierającego plik(i) z danymi poleceniem setwd(ścieżka_dostępu) lub wybierając polecenie „Zmień katalog (Change dir)” z menu „Plik (File)” Wczytanie pliku z danymi: > dane2 <- read.csv2("nazwa_pliku")
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych z pliku przy pomocy funkcji read. Przygotowanie pliku: po odpowiednim ułożeniu danych w arkuszu kalkulacyjnym należy zapisać plik jako „lucerna.csv”
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych z pliku przy pomocy funkcji read. Przygotowanie środowiska R należy ustawić ścieżkę dostępu do katalogu zawierającego plik(i) z danymi poleceniem setwd(ścieżka_dostępu) lub wybierając polecenie „Zmień katalog (Change dir)” z menu „Plik (File)” > getwd() [1] "C:/Users/Admin/Documents" > setwd("c:/R/") > getwd() [1] "C:/R"
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych z pliku przy pomocy funkcji read. Wczytanie pliku z danymi: > dane2 <- read.csv2(„lucerna.csv") > dane2 dlugosc krzyz
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie jednoczynnikowym - wprowadzenie danych z pliku przy pomocy funkcji read. Obliczenie analizy: > anova(aov(dlugosc~factor(zapyl),data=dane2)) Analysis of Variance Table Response: wyniki Df Sum Sq Mean Sq F value Pr(>F) factor(zapylenie) ** Residuals Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie dwuczynnikowym Przygotowanie pliku: po odpowiednim ułożeniu danych w arkuszu kalkulacyjnym należy zapisać plik jako „kukurydza.csv”
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie dwuczynnikowym Wczytanie pliku z danymi: > dane3 <- read.csv2("kukurydza.csv") > dane3 Dane Inok Naw k1 w k1 w k1 w k1 w k1 w k1 w k1 w k1 w k1 w k1 w k2 w k2 w k2 w4
Wprowadzenie do obsługi programu R Przykład: analiza wariancji w układzie dwu Obliczenie analizy: > anova(aov(Dane~Inok*Naw,data=dane3)) Analysis of Variance Table Response: Dane Df Sum Sq Mean Sq F value Pr(>F) Inok e-11 *** Naw e-13 *** Inok:Naw ** Residuals Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Wprowadzenie do obsługi programu R Graficzna prezentacja danych FunkcjaEfekt plot podstawowy wykres rozrzutu hist histogram pie wykres kołowy barplot wykres słupkowy boxplot wykres pudełkowy pairs zestaw wykresów rozrzutu stars wykres radarowy mosaicplot wykres mozaikowy n = 10^3 plot(rnorm(n), rnorm(n), main = "Proba 2D rozkladu normalnego")
data <- matrix(c(8, 9, 12, 11, 13, 15), 2, 3) Wprowadzenie do obsługi programu R Graficzna prezentacja danych PszenicaŻyto Kontrola89 Nawóz_11211 Nawóz_21315
data<-matrix(c(8,9,12,11,13,15), 2, 3, dimnames = list(c("Pszenica","Żyto"), c("Kontrola","Nawóz_1","Nawóz_2"))) barplot(data) Wprowadzenie do obsługi programu R Graficzna prezentacja danych PszenicaŻyto Kontrola89 Nawóz_11211 Nawóz_21315 Wykres słupkowy
barplot(data[1,]) Wprowadzenie do obsługi programu R Graficzna prezentacja danych PszenicaŻyto Kontrola89 Nawóz_11211 Nawóz_21315 data<-matrix(c(8,9,12,11,13,15), 2, 3, dimnames = list(c("Pszenica","Żyto"), c("Kontrola","Nawóz_1","Nawóz_2"))) Wykres słupkowy dla danych w wierszach
par(mfrow=c(1,2)) # podział obszaru wykresu barplot(data, beside = TRUE) # porównanie rodzaju nawozu barplot(t(data), beside = TRUE) # porównanie gatunków Wprowadzenie do obsługi programu R Graficzna prezentacja danych Zestaw wykresów słupkowych dla danych
par(mfrow=c(1,2)) par(bg = „lightblue") # kolor tła obszaru kreślenia barplot(data, beside = TRUE, col = topo.colors(2)) par(lwd=2, lty=3) # grubość linii 2, styl - kropki barplot(t(data), beside = TRUE, col = heat.colors(2), border='blue') Wprowadzenie do obsługi programu R Graficzna prezentacja danych Dodanie kolorów i krawędzi słupków
barplot((data), beside = TRUE, col = 'blue', density=c(4,15), angle=c(0,45)) Wprowadzenie do obsługi programu R Graficzna prezentacja danych Dodanie kreskowania
barplot(data, beside = TRUE) title(main = list("Plonowanie gatunków zbóż w zależności od poziomu nawożenia.", font = 6, col = 'darkblue', cex = 1.1)) # parametry funkcji służą do ustawienia czcionki i koloru Wprowadzenie do obsługi programu R Graficzna prezentacja danych Ustawienie tytułu wykresu
barplot(data, beside = TRUE) title(main = list("Plonowanie gatunków zbóż w zależności od poziomu nawożenia.", font = 6, col = 'darkblue', cex = 1.1)) # parametry funkcji służą do ustawienia czcionki i koloru title(xlab = list("Nawozy", font = 6, col = 'darkblue', cex = 1), ylab = list("Plon [kg/poletko]", font = 6, col = 'darkblue', cex = 1)) Wprowadzenie do obsługi programu R Graficzna prezentacja danych Ustawienie opisu osi X i Y
barplot(data, beside = TRUE, xlim = c(0,13), args.legend = list(x ='right'), legend = rownames(data)) title(main = list("Plonowanie gatunków zbóż w zależności od poziomu nawożenia.", font = 6, col = 'darkblue', cex = 1.1)) # parametry funkcji służą do ustawienia czcionki i koloru title(xlab = list("Nawozy", font = 6, col = 'darkblue', cex = 1), ylab = list("Plon [kg/poletko]", font = 6, col = 'darkblue', cex = 1)) Wprowadzenie do obsługi programu R Graficzna prezentacja danych Dodanie legendy
barplot(data, beside = TRUE, xlim = c(0,13), args.legend = list(x ='right'), legend = rownames(data)) title(main = list("Plonowanie gatunków zbóż w zależności od poziomu nawożenia.", font = 6, col = 'darkblue', cex = 1.1)) # parametry funkcji służą do ustawienia czcionki i koloru title(xlab = list("Nawozy", font = 6, col = 'darkblue', cex = 1), ylab = list("Plon [kg/poletko]", font = 6, col = 'darkblue', cex = 1)) grid(nx=NA, ny=NULL, lwd = 1, col = 'black', lty=2) Wprowadzenie do obsługi programu R Graficzna prezentacja danych Dodanie linii siatki
ask — ustawienie na TRUE powoduje, ze przed rozpoczęciem rysowania użytkownik będzie musiał nacisnąć dowolny klawisz. Jest to przydatne przy rysowaniu wykresów etapami i zapisywaniu każdego z etapów. bg — kolor tła wykresu (background). col — kolor wykresu (linii, słupków etc. w zależności od kontekstu). col.axis — kolor osi. col.lab — kolor legendy osi. col.main — kolor głównego tytułu. col.sub — kolor podtytułów. fg — kolor powierzchni wykresu (foreground). font — rodzaj czcionki. 1 to krój normalny, 2 — pogrubiony, 3 — kursywa, 4 — pogrubiona kursywa. lty — rodzaj linii. 1 to ciągła, 2 — kreskowana, 3 — kropkowana, 4 — kropka-kreska, 5 — długa kreska, 6 — podwójna kreska. lwd — grubość linii, standardowo 1. mar — marginesy wykresu, standardowo c(5, 4, 4, 2) mfcol, mfrow — parametry umożliwiające rysowanie kilku wykresów na jednym „ekranie” w formie tabeli. Określają liczbę wierszy i kolumn tej tabeli. new — ustawiony na TRUE powoduje narysowanie wykresu na poprzednim, bez czyszczenia ekranu. pch — rodzaj symbolu rysowanego na wykresie do oznaczenia punktu. Wartość może być liczbą całkowitą lub jednym znakiem. Np. 2 oznacza drugi symbol ze standardowego zestawu, zas "X" — rysowanie liter X. xlog, ylog — ustawiając na TRUE uzyskujemy logarytmiczną skalę osi x lub y. xlim, ylim — przedziały osi x i y.