Konspekt do zaj¦¢: Statystyczne metody analizy danych
Statystyka opisowa
graczne metody reprezentacja danychoraz
dr Agnieszka Nowak-Brzezi«ska 21 pa¹dziernika 2009
1 Opis zaj¦¢
Celem zaj¦¢ jest wykonanie prostych analiz z u»yciem statystyki opisowej i gracznych metod reprezentacji danych na wykresach. W pierwszej cz¦±ci stu- denci poznaj¡ podstawy statystyki opisowej oraz typy wykresów, po to by w drugiej cz¦±ci zapozna¢ si¦ z ich implementacj¡ w ±rodowisku R. trzecia cz¦±¢
obejmuje ¢wiczenia do wykonania.
By¢ mo»e pomocnym b¦dzie skorzystanie z pomocy: http://www.oginet.pl/
~rasp/r/index.html
Zbiorami do analizy mog¡ by¢ wszelkie zasoby ±rodowiska R, mo»na ich opis znale¹¢ w lokalizacji
D:\Program Files (x86)\R/R-2.9.2\library\datasets\chtml
o ile R zostaª zainstalowany w na dysku D, za± wªa±ciwe pliki z danymi w lokalizacji
D:\Program Files (x86)\R\R-2.9.2\library\datasets\html
2 Cz¦±¢ teoretyczna
2.1 Statystyka opisowa i graczna reprezentacja danych
2.1.1 Statystyka opisowa
Statystyka opisowa pozwala ocenia¢ dane na wiele ró»nych sposobów. Wyposa»ona jest zarówno w opisy w postaci parametrów mierz¡cych median¦, wariancj¦, ksz- taªt rozkªadu danych jak i graczne techniki prezentacji informacji o badanej grupie danych.
2.2 Tendencja ±rodka - (central tendency)
Wyró»niamy tu takie miary jak:
• moda - najcz¦±ciej wykorzystywana warto±¢ dla oceny konkretnej zmien- nej. Np. dla zmiennej o warto±ciach: 2, 4, 5, 6, 7, 7, 7, 8, 8, 9 mamy mod¦ o warto±ci 7, gdy» cz¦sto±¢ jej wyst¦powania byªa najwi¦ksza. Gdy mamy wi¦cej warto±ci o równej cz¦sto±ci, ka»da z tych warto±ci jest zast¡piona warto±ci¡ u±rednion¡. Np. dla warto±ci podanych ni»ej zarówno warto±¢ 7 jak i 8 wyst¦puj¡ równie cz¦sto: 3 razy. {3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9} wówczas moda mo»e by¢ ustalona na 7,8 lub po prostu 7.5.
• Mediana - jest warto±ci¡ po±redni¡ w zbiorze posortowanych warto±ci od niskich do wysokich. Dla zmiennych o równych warto±ciach najbli»sza
±redniej jest wybrana (suma dwóch warto±ci zostaje podzielona przez 2).
Np. dla zbioru warto±ci: 3, 4, 7, 2, 3, 7, 4, 2, 4, 7, 4. Sortowanie warto±ci:
2, 2, 3, 3, 4, 4, 4, 4, 7, 7, 7. Dla takich 11 danych, median¡ b¦dzie warto±¢
szósta (czyli 4).
• rednia - okre±lona jako suma wszystkich warto±ci podzielona przez ich liczb¦. Dla przykªadu, w zbiorze warto±ci: 3, 4, 5, 7, 7, 8, 9, 9, 9 ich suma wynosi 3 + 4 + 5 + 7 + 7 + 8 + 9 + 9 + 9 = 61.61/9 = 6.78. Uogólniaj¡c, dla zmiennych reprezentuj¡cych pewn¡ populacj¦ x warto±¢ ±redni¡ mo»na zapisa¢ jako x =
Pn
i=1xi
n
2.3 Miary zmienno±ci
Najcz¦±ciej stosowana jest miara nazwana zakresem (ang. range) b¦d¡ca ró»nic¡
mi¦dzy warto±ciami: maksymaln¡ i minimaln¡ w zbiorze. Do miar zmienno±ci zaliczy¢ mo»na tak»e kwartale (ang. Quartiles), które dziel¡ zmienn¡ na 4 równe przedziaªy opieraj¡c si¦ na liczbie obserwacji. Pierwszy kwartyl (Q1) to przedziaª dla 25%, Q2 dla 50%, Q3 dla 75%. Q2 to wi¦c to samo co mediana.
Wariancja (ang. variance) opisuje rozproszenie danych i jest miar¡ odchylenia od warto±ci ±redniej. Formuªa obliczania wariancji mo»e by¢ nast¦puj¡ca: sPn 2=
i=1(xi−(x)2
n−1 . Dla zbioru: 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 8, 9, warto±¢ ±rednia wynosi x = 3+4+4+5+5+5+6+6+6+7+7+8+9
13 = 5.8, za± wariancja s2 = Pn
i=1(xi−(x)2
n−1 =
176.88
13−1 = 14.74. Odchylenie standardowe (ang. standard deviation) liczy si¦ z wzoru:
s = sPn
i=1(xi− (x)2 n − 1 ,
gdzie s jest odchyleniem standardowym, xi jest warto±ci¡ aktualnej danej, x jest warto±ci¡ ±redni¡, za± n jest liczb¡ obserwacji. Dla obliczonej wariancji, przykªadowo 14.74, odchylenie standardowe jest obliczone jako √
14.74.
3 Wykresy jako graczna reprezentacja danych
Wykresy pozwalaj¡ wizualizowa¢ dane, co znacznie uªatwia analiz¦ du»ych zbiorów danych. W±ród analizowanych mo»liwo±ci b¦d¡:
• histogramy i wykresy cz¦sto±ci,
• wykresy rozrzutu (ang. scatterplots),
• wykresy pudeªkowe (ang. boxplot).
Rysunek 1: source:http://pl.wikipedia.org/wiki/
Rysunek 2: ¹ródªo: http://pl.wikipedia.org/wiki/
3.1 Histogram
Histogram to jeden z gracznych sposobów przedstawiania rozkªadu empirycznego cechy. Skªada si¦ z szeregu prostok¡tów umieszczonych na osi wspóªrz¦dnych.
Prostok¡ty te s¡ z jednej strony wyznaczone przez przedziaªy klasowe warto±ci cechy, natomiast ich wysoko±¢ jest okre±lona przez liczebno±ci elementów wpada- j¡cych do okre±lonego przedziaªu klasowego.
3.2 Wykresy rozrzutu (scatterplots)
Pozwala wykrywa¢ pewne zale»no±ci mi¦dzy warto±ciami ci¡gªymi obserwacji w pewnej mierzonej skali. Dwie zmienne s¡ prezentowane na osiach x i y. Ka»dy punkt wykresu reprezentuje pojedyncz¡ obserwacj¦. Z wykresu mo»emy od- czyta¢, czy zale»no±¢ taka jest liniowa. Dzieje si¦ tak wówczas, gdy wzrost warto±ci jednej zmiennej poci¡ga za sob¡ wzrost warto±ci drugiej zmiennej.
Zreszt¡ w takim przypadku, dodatkowo okre±limy j¡ jako zale»no±¢ dodat- ni¡. Ujemna b¦dzie natomiast wówczas, gdy wzrost warto±ci jednej zmiennej powoduje spadek warto±ci drugiej. Z kolei, zale»no±¢ b¦dzie nieliniowa, gdy zmiany warto±ci obu analizowanych zmiennych maj¡ miejsce, ale nie ma w tej zmianie »adnej zale»no±ci.
3.3 Wykres pudeªkowy
Wykres pudeªkowy jest jedn¡ z form gracznej prezentacji rozkªadu cechy statysty- cznej, spotykany najcz¦±ciej w pakietach komputerowych wspomagaj¡cych pro-
Rysunek 3: ¹ródªo: http://pl.wikipedia.org/wiki/
ces analizy i interpretacji danych statystycznych. Wykres pudeªkowy tworzymy odkªadaj¡c na poziomej osi warto±ci niektórych parametrów rozkªadu. Nad osi¡ umieszczony jest prostok¡t (pudeªko), którego lewy bok jest wyznaczony przez pierwszy kwartyl, za± prawy bok przez trzeci kwartyl. Szeroko±¢ pudeªka odpowiada warto±ci rozst¦pu ¢wiartkowego. Wewn¡trz prostok¡ta znajduje si¦
pionowa linia, okre±laj¡ca warto±¢ mediany. Rysunek pudeªka uzupeªniamy po prawej i lewej stronie odcinkami. Lewy koniec lewego odcinka wyznacza najm- niejsz¡ warto±¢ w zbiorze, natomiast prawy koniec prawego odcinka to warto±¢
najwi¦ksza.
Oczywi±cie:
Lower whisker - warto±¢ najmniejsza dla danej zmiennej.
Lower quartile - punkt dokªadnie na 25% zbioru obserwacji.
Median - punkt rozgraniczaj¡cy dokªadnie 50% obserwacji.
Upper quartile - Punkt, przed którym jest 75% obserwacji.
Upper whisker - najwy»sza warto±¢ w zbiorze.
Mean - warto±¢ ±rednia w zbiorze obserwacji.
4 Cz¦±¢ praktyczna w R
4.1 Wprowadzenie
4.1.1 Dane wej±ciowe:
1. plik tekstowy: zaªo»enia: separatorem jest przecinek, plik musi mie¢
nagªówek z danymi w pierwszym wierszu, musi te» by¢ zmienna id dla nazw wierszy:
mydata <- read.table("c:/mydata.csv", header=TRUE, sep=",", row.names="id") 2. arkusz Excel:
library(RODBC)
channel <- odbcConnectExcel("c:/myexel.xls") mydata <- sqlFetch(channel, "mysheet") odbcClose(channel)
3. odczyt z klawiatury:
age <- c(25, 30, 56)
gender <- c("male", "female", "male") weight <- c(160, 110, 220)
mydata <- data.frame(age,gender,weight) 4.1.2 Dane wyj±ciowe
1. do pliku tekstowego:
write.table(mydata, "c:/mydata.txt", sep="\t") 2. do arkusza Excel:
library(xlsReadWrite)
write.xls(mydata, "c:/mydata.xls") 4.1.3 Podgl¡d danych
opis funkcji komenda w R
zmienne w zbiorze mydata names(mydata) struktura zbioru mydata str(mydata) przedziaªy zmiennej v1 levels(mydata$v1)
wymiary dim(object)
wy±wietlenie zbioru mydata mydata
pierwsze 10 wierszy head(mydata, n = 10) ostatnie 5 wierszy tail(mydata, n = 5)
W zale»no±ci od rodzaju
danych stosujemy: factor lub ordered dla zrozumienia warto±ci etykiet danych.
Je±li dane s¡ numeryczne to factor(), je±li jako±ciowe to ordered(). Maj¡ takie same argumenty.
zmienna v1 z warto±ciami 1, 2 lub 3 mydata$v1 < −f actor(mydata$v1, Chcemy skojarzy¢ warto±ci z etykietami levels = c(1, 2, 3),
1=red, 2=blue, 3=green labels = c(¨red”, ”blue”, ”green”)) zmienna y o warto±ci 1, 3 lub 5 mydata$v1 < −ordered(mydata$y , Chcemy skojarzy¢ warto±ci etykiet levels = c(1, 3, 5),
1=Low, 3=Medium, 5=High labels = c( ¨Low”, ”M edium”, ”High”))
4.1.4 Brakuj¡ce dane
W ±rodowisku R dane brakuj¡ce s¡ reprezentowane symbolem NA (ang. not available). Nale»y rozró»ni¢ dane brakuj¡ce od danych sprzecznych (niemo»li- wych do uzyskania) np po dzieleniu jakiej± warto±ci przez 0. Takie sa prezen- towane u»ywaj¡c symbolu NaN (ang. not a number).
is.na(x) zwraca TRUE gdy brak jest warto±ci x y < −c(1, 2, 3, N A)
is.na(y) zwraca wektor (F F F T)
Radzenie sobie z warto±ciami brakuj¡cymi jest przeprowadzone na wiele sposobów w ±rodowisku R:
mydata[v1 == 99, ”v1”] < −N A podstawi warto±¢ 99 wsz¦dzie tam gdzie brak jest warto±ci zmiennej v1 Pomijanie danych brakuj¡cych w analizie:
x < −c(1, 2, N A, 3)
mean(x) zwróci NA
mean(x, na.rm = T RU E) zwróci 2
Funkcja complete.cases() zwraca wektor warto±ci logicznych, wskazuj¡cy przy- padki danych kompletnych.
mydata[!complete.cases(mydata), ] wiersze danych niekompletnych Funkcja na.omit() zwraca tylko dane kompletne (usuwa niekompletne).
newdata < −na.omit(mydata) Tworzymy nowy zbiór - kompletny
4.2 Statystyka opisowa w R
Jedn¡ z u»ytecznych funkcji jest sapply():
sapply(mydata, mean, na.rm = T RU E) ±rednie dla zmiennych w zbiorze mydata omija warto±ci brakuj¡ce
sapply pozwala u»y¢: mean, sd, var, min, max, med, range, i quantile. R dostarcza tak»e wielu innych podstawowych funkcji. Przykªad:
summary(mydata) mean,median,25th and 75th quartiles,min,max Statystyki podsumowuj¡ce z grupowaniem describe.by(mydata, group, ...)
cor() korelacja
cov() kowariancja
Format: cor(x, use =, method =) gdzie opcja opis
x macierz b¡d¹ ramka danych (dataframe)
use okre±la metod¦ traktowania danych brakuj¡cych.
Opcje: all.obs zakªada brak danych niekompletnych, complete.obs pomija dane brakuj¡ce,
pairwise.complete.obs
method okre±la typ korelacji: pearson, spearman lub kendall Przykªad grupowania danych:
x.df <- data.frame(group=sample(2,20,replace=TRUE), matrix(rnorm(100),ncol=5)) x <- describe.by(x.df,x.df$group)
x #shows all the results
x[1] #shows just the first group
x <- matrix(sample(4,200,replace=TRUE),ncol=5)
y <- describe.by(x,x[,1]) y#
#group: 1
# var n mean sd median mad min max range se
#group 1 7 1.00 0.00 1.00 0.00 1.00 1.00 0.00 0.00
#X1 2 7 -0.36 1.66 -0.31 2.16 -2.66 1.90 4.55 0.63
#X2 3 7 -0.10 1.04 -0.43 0.95 -1.37 1.44 2.81 0.39
#...#---
#group: 2
# var n mean sd median mad min max range se
#group 1 13 2.00 0.00 2.00 0.00 2.00 2.00 0.00 0.00
#X1 2 13 -0.07 1.26 -0.26 0.57 -2.44 2.29 4.73 0.35
#...#> x[1] #shows just the first group
#$`1`
# var n mean sd median mad min max range se
#group 1 7 1.00 0.00 1.00 0.00 1.00 1.00 0.00 0.00
#X1 2 7 -0.36 1.66 -0.31 2.16 -2.66 1.90 4.55 0.63
#X2 3 7 -0.10 1.04 -0.43 0.95 -1.37 1.44 2.81 0.39
#X3 4 7 0.56 0.90 0.92 0.97 -0.73 1.58 2.30 0.34
#X4 5 7 0.29 0.88 0.46 0.87 -1.19 1.51 2.71 0.33
#X5 6 7 0.23 1.12 0.19 1.27 -1.46 1.85 3.31 0.42
Przykªad u»ycia korelacji i kowariancji dla danych numerycznych w zbiorze mtcars. Zakªada si¦ usuwanie danych niekompletnych.
cor(mtcars, use="complete.obs", method="kendall") cov(mtcars, use="complete.obs")
4.3 Wykresy
Ogromn¡ zalet¡ ±rodowiska R jest jego system graczny i mo»liwo±ci ªatwej wizualizacji danych. Wyró»nimy 2 rodzaje funkcji gracznych w R:
• wyskopoziomowe funkcje rysuj¡ kompletne wykresy ( i usuwaj¡ce poprzed- nie),
• niskopoziomowe funkcje dodaj¡ce do wykresów nowe elementy typu leg- enda, punkty, linie, tekst.
4.3.1 Rysowanie ogólne
plot() to podstawowa funkcja, która rysuje zestaw dwuwymiarowych punktów o podanych wspóªrz¦dnych. I tak, kod:
> n = 10^3
> plot(rnorm(n), rnorm(n), main = "Proba 2D rozkladu normalnego") wygeneruje wykres rozkladu 1000 danych na wykresie 2D. Wyró»nimy nast¦pu- j¡ce parametry funkcji plot(), które pozwol¡ wzbogaca¢ nasze wykresy, ale trzeba wówczas u»y¢ funkcji par() która pozwala modykowa¢ ustawienia glob- alne:
• bg
• cex
• col: col.axis, col.lab, col.main, col.sub
• family,
• fg
• lab,
• lty - rodzaj linii (0-6)
• lwd - grubo±¢ linii
• pty - typ pola rysunku
• type - typ tworzonego wykresu: (p,b,s,h,n)
• xlab,
• xlog=TRUE
• xlim
• pch - symbole na rysunku (domy±lnie pch=1)
S¡ one omówione pod adresem [http://www.oginet.pl/~rasp/r/parametry.
html
> par(pch = 20, col.lab = "darkred", col.axis = "darkred", fg = "blue", + col = "blue", font.main = 3, font.lab = 2)
pozwoli na zmiany w wykresie: etykiety i osie b¦d¡ miaªy kolor ciemnoczer- wony, kolor wykresu b¦dzie niebieski, punkty b¦d¡ zakolorowanymi kóªkami, zmieniony b¦dzie te» rozmair czcionki: inny dla tytuªu, inny dla etykiet.
1. histograms 2. dot plots 3. bar charts 4. line charts 5. pie charts 6. boxplots 7. scatter plots.
Wykresy s¡ omowione pod adresem: http://www.oginet.pl/~rasp/r/wykresy.
html.
Standardowymi wykresami do reprezentacji proporcji danych kategorycznych s¡ wykresy sªupkowe (barplot) i koªowe (pie). Przyjmuj¡ one jako parametr
wektory liczbowe, reprezentuj¡ce ilo±ci elementów w poszczególnych kategori- ach. Rozkªad danych numerycznych wspomagaj¡ wykresy dla danych katego- rycznych, dzielone wcze±niej na przedziaªy (cut). rodowisko R posiada funkcje uªatwiaj¡ce nam ten proces, które tworz¡ bezpo±rednio wykresy rozkªadu danych (z pomini¦ciem kroku ich r¦cznego dzielenia). Najprostszy, tekstowy wykres to tzw. wykres ªodygowo - li±ciowy (stem).
> data(beavers)
> x = beaver1$temp
Wykres ªodygowo-li±ciowy to wykres tekstowy, tzn. w wyniku jego dzia lania nie powstaje obiekt graczny. Przydaje si¦ do szybkiego ogl¡du niedu»ych zbiorów danych.
4.3.2 Histogramy
hist(x) dla wektora x. Opcja freq = F ALSE zamiast cz¦sto±ci wyrysuje g¦s- to±ci. Opcja breaks = pozwala ustala¢ liczb¦ sªupków. hist(mtcars$mpg) - Sim- ple Histogram hist(mtcars$mpg, breaks = 12, col = ¨red”) = czerwony wykres, z 12 sªupkami.
x <- mtcars$mpg
h<-hist(x, breaks=10, col="red", xlab="Miles Per Gallon", main="Histogram with Normal Curve")
4.3.3 Wykres punktowy
dotchart(x, labels =) dla wektora x i etykiet opisanych przez wektor labels.
Opcja groups = pozwala okresla¢ kryterium grupowania elementów wektora x, za± opcja gcolor = pozwala wybiera¢ osobne kolory dla tworzonych grup, cex zarz¡dza rozmiarem etykiet.
dotchart(mtcars$mpg,labels=row.names(mtcars),cex=.7, main="Gas Milage for Car Models",
xlab="Miles Per Gallon")
Przykªad wykresu punktowego kolorowego, posortowanego (wg mpg) i pogrupowanego wg (ang. cylinder).
x <- mtcars[order(mtcars$mpg),] # sort by mpg x$cyl <- factor(x$cyl) # it must be a factor x$color[x$cyl==4] <- "red"
x$color[x$cyl==6] <- "blue"
x$color[x$cyl==8] <- "darkgreen"
dotchart(x$mpg,labels=row.names(x),cex=.7,groups= x$cyl, main="Gas Milage for Car Models\ngrouped by cylinder", xlab="Miles Per Gallon", gcolor="black", color=x$color) 4.3.4 Wykres sªupkowy (ang. Bar Plots)
barplot(height) - gdzie height jest wektorem (wtedy heights jest wysoko±ci¡
sªupka na wykresie) b¡d¹ macierz¡ (wtedy z opcj¡ beside = F ALSE oznacza,
»e ka»da kolumna z macierzy ma 1 sªupek, w którym ró»nymi kolorami zostaªy
uwzgl¦dnione poszczególne przedziaªy warto±ci). Je±li height jest macierz¡ ale opcja beside ma warto±¢ T RUE oznacza to osobne sªupki dla ka»dej z kolumn macierzy. Opcja names.arg = (charactervector) pozwala opisa¢ sªupki, za±
opcja horiz = T RUE zmieni¢ orientacj¦ wykresu na horyzontaln¡. Przykªad prostego wykresu:
counts <- table(mtcars$gear)
barplot(counts, main="Car Distribution", xlab="Number of Gears")
Przykªad wykresu horyzontalnego, z dodatkowymi kolumnami:
counts <- table(mtcars$gear)
barplot(counts, main="Car Distribution", horiz=TRUE, names.arg=c("3 Gears", "4 Gears", "5 Gears"))
Uwaga ! Wykresy sªupkowe nie musz¡ si¦ odnosi¢ tylko do danych policzal- nych czy do czesto±ci. Mo»emy u»y¢ ich równie» do reprezentacji ±rednich, mediany, odchylenia standardowego. Trzeba u»y¢ funkcji aggregate() i prze- nie±¢ wyniki do funkcji barplot().Domyslnie linie dla danych kategorycznych nie s¡ pokazane. Mo»na to wymusi¢ dodaj¡c opcj¦ axis.lty = 1.
4.3.5 Wykresy liniowe (ang. Line Charts)
lines(x, y, type =) gdzie x i y s¡ wektorami numerycznymi punktów (x, y).
Parametr type = mo»e przyj¡¢ jedn¡ z warto±ci: p - punkty, l - linie, o - punkty i linie, b, c - dla punktów poª¡czonych liniami (puste dla c), s, S - oznacza wykres schodkowy, h - jak histogram tyle, »e zamiast sªupków mamy linie, n - bez linii i punktów. Funkcja lines() dodaje informacje do wykresu.
In the following code each of the type= options is applied to the same dataset.
The plot( ) command sets up the graph, but does not plot the points.
x <- c(1:5); y <- x # create some data
par(pch=22, col="red") # plotting symbol and color par(mfrow=c(2,4)) # all plots on one page
opts = c("p","l","o","b","c","s","S","h") for(i in 1:length(opts)){
heading = paste("type=",opts[i]) plot(x, y, type="n", main=heading) lines(x, y, type=opts[i])
}
4.3.6 wykresy koªowe (ang. Pie Charts)
Funkcja pie(x, labels =) pozwala rysowa¢ wykresy koªowe.
slices <- c(10, 12,4, 16, 8)
lbls <- c("US", "UK", "Australia", "Germany", "France") pie(slices, labels = lbls, main="Pie Chart of Countries")
Wykres koªowy z procentami:
slices <- c(10, 12, 4, 16, 8)
lbls <- c("US", "UK", "Australia", "Germany", "France") pct <- round(slices/sum(slices)*100)
lbls <- paste(lbls, pct) # add percents to labels lbls <- paste(lbls,"%",sep="") # ad % to labels pie(slices,labels = lbls, col=rainbow(length(lbls)),
main="Pie Chart of Countries") Tworzenie kóª z ramki danych (Dataframe):
mytable <- table(iris$Species)
lbls <- paste(names(mytable), "\n", mytable, sep="") pie(mytable, labels = lbls,
main="Pie Chart of Species\n (with sample sizes)") 4.3.7 Wykresy pudeªkowe (ang. Boxplots)
Funkcja boxplot(x, data =), gdzie x to wektor danych, a data = oznacza ramk¦
danych (dataframe) dostarcz¡j¡c¡ dane do analizy. Opcja varwidth = T RUE pozwala generowa¢ wykresy o szeroko±ci kwadrata, za± opcja horizontal = T RU E pozwala odwróci¢ orientacj¦ osi.
Przykªad: Boxplot of MPG by Car Cylinders
boxplot(mpg~cyl,data=mtcars, main="Car Milage Data", xlab="Number of Cylinders", ylab="Miles Per Gallon") Przykªad: Notched Boxplot of Tooth Growth Against 2 Crossed Factors:
boxplot(len~supp*dose, data=ToothGrowth, notch=TRUE, col=(c("gold","darkgreen")),
main="Tooth Growth", xlab="Suppliment and Dose")
Uwaga! s¡ te» tzw. wykresy skrzypcowe za pomoc¡ funkcji violin(). S¡ one kombinacj¡ wykresu pudeªkowego i wykresu g¦sto±ci. Np:
library(vioplot)
x1 <- mtcars$mpg[mtcars$cyl==4]
x2 <- mtcars$mpg[mtcars$cyl==6]
x3 <- mtcars$mpg[mtcars$cyl==8]
vioplot(x1, x2, x3, names=c("4 cyl", "6 cyl", "8 cyl"), col="gold")
title("Violin Plots of Miles Per Gallon") 4.3.8 Wykres rozrzutu (ang. Scatterplot)
Najprostszy sposób to funkcja plot(x, y), dla wektorów x i y, które maj¡ by¢
narysowane.
Przykªad:
attach(mtcars)
plot(wt, mpg, main="Scatterplot Example",
xlab="Car Weight ", ylab="Miles Per Gallon ", pch=19)
Jest te» funkcja scatterplot() w pakiecie car oferuj¡ca wiele u»ytecznych cech.
library(car)
scatterplot(mpg ~ wt | cyl, data=mtcars,
xlab="Weight of Car", ylab="Miles Per Gallon", main="Enhanced Scatter Plot",
labels=row.names(mtcars))
5 Zadania do wykonania
1. Twoje czasy dojazdu na uczelnie przez ostatnie dwa tygodnie (10 dni; w minutach) to: 17, 16, 20, 24, 22, 15, 21, 15, 17, 22.
• Jakie byªy nadjªu»szy, ±redni i minimalny czasy dojazdu?
• Jakie byªo odchylenie stanadardowe czasu dojazdu?
• Ile razy dojazd zaj¡ª Ci mniej/wi¦cej ni» ±rednia -/+ odchylenie stan- dardowe?
• Jakie byªy ±rednie czasy dojazdu dla warto±ci poni»ej/ponad pier- wszym/trzecim kwartylem?
2. Wczytaj wbudowany zbiór danych mtcars. Zobacz czego dotyczy i sprawd¹:
• Ile wynosi maksymalny przebieg (w milach/galon)?
• który samochód go osi¡gn¡ª?
• jak wygl¡da pierwsza trójka samochodów o najwi¦kszej liczbie konii mechanicznych?
• jakie s¡ ±rednie przyspieszenia i odchylenie standardowe liczby konii dla:
wszystkich samochodów,
samochodów z/bez automatycznej skrzyni biegów,
mercedesów,
czoªowych 20% samochodów pod wzgl¦edem liczby konii mechan- icznych?
3. Oblicz wspóªczynnik korelacji Pearsona dla zbioru mtcars.
4. T¦tna spoczynkowe lekkoatletów wynosz¡:
44; 34; 33; 34; 35; 33; 31; 41; 30; 31; 31; 32; 34; 45; 37; 35 Wyznacz wykres pudeªkowy.
5. Dla danych z poprzedniego zadania oblicz: mod¦, median¦, ±redni¡, wari- ancj¦ oraz rozst¦p mi¦dzykwartylowy.
6. Badaniu poddano dªugo±¢ ko«czyny dolnej (xi) oraz moc (yi) u siedmiu uczniów IV klasy szkoªy podstawowej. Na podstawie poni»szych danych oszacowa¢ wspóªzale»no±¢ obu analizowanych cech.
x = [28, 25, 35, 35, 29, 30, 24], za± y = [71.2, 70.3, 73.4, 63.6, 70.1, 68.3, 66.1]