Temat 3 ćwiczenie 6 Wykresy w R
Źrodło: Wikipedia Fala elektromagnetyczna Fala elektromagnetyczna to rozchodzące się w przestrzeni zaburzenie pola elektromagnetycznego. Pole elektryczne i magnetyczne w płaskiej fali elektromagnetycznej o długości. Cechy fali elektromagnetycznej: 1. długość (okres), 2. częstotliwość (1/okres), 3. natężenie (amplituda), 4. kierunek rozchodzenia się fali (poprzeczny), 5. mody (różne zmiany kierunku zmian pola elektrycznego i magnetycznego w stosunku do kierunku rozchodzenia się fali, 6. polaryzacja (selekcja fal pola elektromagnetycznego względem fal płaskich o drganiach tylko w pewnych kierunkach. Własności przy oddziaływaniu z obiektami materialnymi: odbicie, pochłanianie, przenikanie, ugięcie (załamanie), rozszczepienie, dyfrakcja, interferencja
Oko narząd receptorowy reagujący na fale elektromagnetyczne Definicja dotyczy organizmów wielokomórkowych posiadających specjalny narząd do widzenia (królestwo zwierząt). Oczy wyróżnia się już u meduz. U większości bezkręgowców i kręgowców schemat budowy oka jest taki sam. Siatkówka zbiór komórek światłoczułych Czopki (cone cells) i/lub pręciki (rod cells) komórki światłoczułe Opsyny - grupa światłoczułych, sprzężonych z białkami G, receptorów błonowych (rodopsyna, jodopsyna, inne) barwniki światłoczułe
Źrodło: Wikipedia.en Czopki i pręciki zwierząt i ludzi absorbcja Różne opsyny, różne substancje łączące się z białkami G, różna absorbcja światła o określonej długości fali. gady, ptaki, torbacze ludzie długość fali elektromagnetycznej
Widzenie u ludzi Ultrafiolet Podczerwień Dla ludzi zakres światła widzialnego wynosi około 380 740 nm. barwniki występujące w trzech rodzajach czopków (L, M, S) u człowieka erythrolabe reagujący z największą czułością na promieniowanie o λ = 590 nm, wywołujące wrażenie czerwieni 1] chlorolabe najbardziej czuły na promieniowanie o λ = 540 nm (wrażenie zieleni) ] cyanolabe najbardziej czuły na promieniowanie o λ = 450 nm (wrażenie barwy niebieskiej). absorbcja fali elektromagnetycznej w czopkach Źrodło: Wikipedia.en
Źródło: Wikipedia Koła barw Projekcja addytywna wiązek światła o długościach 590 nm, 540 nm i 450 nm na białym ekranie Projekcja subtraktywna wiązek światła białego przechodzących przez filtry pochłaniające o długościach 590 nm, 540 nm i 450 nm na białym ekranie. Nałożenie na siebie kolorów widzianych w syntezie addytywnej i subtraktywnej. Nadanie kolorom nazw wg. schematu RGB. R nasycenie kolorem czerwonym G nasycenie kolorem zielonym B nasycenie kolorem niebieskim Źródło: Wikipedia
System cyfrowy RGB określania barw Nadanie kolorom nazw cyfrowych wg schematu RGB R nasycenie kolorem czerwonym G nasycenie kolorem zielonym B nasycenie kolorem niebieskim Zapis cyfrowy odpowiada projekcji addytywnej: 0 kolor czarny im wyższy numer tym światło bardziej nasycone wybranym kolorem. Kolor Notacja 0-1 Notacja 0-255 Notacja HTML Czarny 0,0,0 0,0,0 #000000 Czerwony 1,0,0 255,0,0 #FF0000 Zielony 0,1,0 0,255,0 #00FF00 Niebieski 0,0,1 0,0,255 #0000FF Biały 1,1,1 255,255,255, #FFFFFF Liczby 0-255 zapisane w systemie 16-wym
Kolory w grafice R kol=c("#000000","#ff0000","#00ff00","#0000ff","#ffffff") pie(1:5, col=kol) kol1=c("#00000080","#ff000080","#00ff0080","#0000ff80","#ffffff80") pie(1:5, col=kol1) kol2=c("#00000010","#ff000010","#00ff0010","#0000ff10","#ffffff10") pie(1:5, col=kol2) kol3=c("#000000ff","#ff0000ff","#00ff00ff","#0000ffff","#ffffffff") pie(1:5, col=kol3) Wnioski: 1. Dodana na 7 i 8 miejscu liczba w systemie 16-wym zmienia w jednakowym stopniu stopień nasycenia kolorem wszystkich barw. 2. Przy stosowaniu 6-znakowego kodu domyślną wartością jest FF
Grafika R Funkcje graficzne nadrzędne: plot(1:10, col=kol) } barplot(1:10, col=kol) boxplot(1:10,10:1,1:5 col=kol) hist(c(1:5, 3:5, 5), col=kol) Funkcje graficzne podrzędne: plot(0:10, col=kol) lines(10:0, col=kol) points(10:0, col=kol1, pch=19) text(5,5,"środek") } Tworzą okno graficzne Nie tworzą okna graficznego, dokładają coś do wykresu
Organizacja okna graficznego Wymiary domyślnie: 7 7 cali, Można je zmienić funkcją: windows(x, y) Można je zmienić myszką. Pole kreślenia Marginesy: dolny ma nr 1 i 1 cal szerokości, 5 linijek lewy ma nr 2 i 0.8 cala szerokości, 4 linijki górny ma nr 3 i 0.8 cala szerokości, 4 linijki prawy ma nr 4 i 0.4 cala szerokości, 2 linijki Szerokość marginesów można zmienić funkcją: par(mar=c(3,3,1,1) ) Szerokość marginesów w linijkach równych 0.2 cala.
Pole kreślenia Po wykonaniu każdej funkcji graficznej nadrzędnej w polu kreślenia ustala się kartezjański układ współrzędnych X Y plot(0:5) rect(1,0,6,5) rect(3,1,4,2,col=2) rect(4,0,5,1,col=3) rect(5,4,6,5,col=4) par("usr") 4% zakresu danych pola kreślenia jest odejmowany od wartości minimalnej i dodawany do wartości maksymalnej i wyznaczane jest pole kreślenia
Pole kreślenia kolor=c("#ff0000","#ffff00","#00ff00","#00ffff","#0000ff","#5500ff") slup=barplot(1:6,col=kolor) segments(slup, c(-1,-1,-1,-1,-1,-1), slup+1,c(7,7,7,7,7,7,7) ) box() par(xpd=true) segments(slup, c(-1,-1,-1,-1,-1,-1), slup+1,c(7,7,7,7,7,7,7) )
Praca na własnych danych Otwieramy skrót do R, który zawiera waszą bazę danych w postaci data.frame > table(skunks$plec,skunks$sezon)->tab1 > tab1 > jesień wiosna zima samica 7 6 9 samiec 6 12 10 Zadania (na ćwiczenia): Narysować udział procentowy osobników wyznaczonych przez wartości pierwszego czynnika (udział procentowy samic i samców skunksów) dla wartości drugiego czynnika (w różnych sezonach). Narysować udział procentowy osobników wyznaczonych przez wartości drugiego czynnika (udział procentowy złowionych wiosną, jesienią i zimą) dla wartości drugiego czynnika (samców i samic skunksów).
Praca na własnych danych Otwieramy skrót do R, który zawiera waszą bazę danych w postaci data.frame > table(skunks$plec,skunks$sezon)->tab1 > tab1 > jesień wiosna zima samica 7 6 9 samiec 6 12 10 Zadanie 1 (na ćwiczenia): Narysować udział procentowy osobników wyznaczonych przez wartości pierwszego czynnika (udział procentowy samic i samców skunksów) dla wartości drugiego czynnika (w różnych sezonach). Albo: Narysować udział procentowy osobników wyznaczonych przez wartości drugiego czynnika (udział procentowy złowionych wiosną, jesienią i zimą) dla wartości drugiego czynnika (samców i samic skunksów).
Rozwiązanie zadań na przykładzie skunksów # Określenie kolejności w jakiej powinny pojawiać się na wykresie słupki # Domyślnie według kolejności alfabetycznej skunks$sezon=ordered(skunks$sezon, levels=c("wiosna", "jesień", "zima")) table(skunks$plec,skunks$sezon)->tab1 # wyliczenie sum wyrazów w kolumnach, # utworzenie ciągu w którym te sumy się powtarzają obok siebie # podzielenie każdego wyrazu przez odpowiednia sumę # pomnożenie wszystkich ułamków przez 100 tab1/rep(apply(tab1,2,sum),each=nrow(tab1))*100->tab1.proc barplot(tab1.proc) Redakcja. 1. Podpisy osi 2. Tytuł 3. Legenda 4. Zmiana wymiarów wykresu (16 10 cm) 5. Zmiana wymiarów marginesu (4 linijki na podpisy osi, 4 linijki na tytuł) 6. Zmiana wielkości czcionki (12 p.) 7. Kolory, tło
Rozwiązanie zadań na przykładzie skunksów Praca w skrypcie! skunks$sezon=ordered(skunks$sezon, levels=c("wiosna", "jesień", "zima")) table(skunks$plec,skunks$sezon)->tab1 tab1/rep(apply(tab1,2,sum),each=nrow(tab1))*100->tab1.proc windows(16/2.54, 9/2.54) par(mar=c(4,4,4,5)) barplot(tab1.proc, ps=12, xlab="sezon", ylab="procent", main="udział procentowy samic i samców skunksów\n w kolejnych sezonach", col=c("#ff000080","#0000ff80") ) par(xpd=true) legend(3.6,70,legend=c("samice","samce"), fill=c("#ff000080","#0000ff80"), bty="n") kolor pierwszego rzędu tabeli kolor drugiego rzędu tabeli
Rozwiązanie zadań na przykładzie skunksów Promotor chce, by kolejność w legendzie była taka sama jak kolejność na słupkach
Rozwiązanie zadań na przykładzie skunksów Szybkie poprawki w skrypcie: skunks$sezon=ordered(skunks$sezon, levels=c("wiosna", "jesień", "zima")) table(skunks$plec,skunks$sezon)->tab1 tab1/rep(apply(tab1,2,sum),each=nrow(tab1))*100->tab1.proc windows(16/2.54, 9/2.54) par(mar=c(4,4,4,5)) barplot(tab1.proc[2:1, ], ps=12, xlab="sezon", ylab="procent", main="udział procentowy samic i samców skunksów\n w kolejnych sezonach", col=c("#ff000080","#0000ff80")[2:1] ) par(xpd=true) legend(3.6,70,legend=c("samice","samce"), fill=c("#ff000080","#0000ff80"), bty="n")
Rozwiązanie zadań na przykładzie skunksów Albo: skunks$sezon=ordered(skunks$sezon, levels=c("wiosna", "jesień", "zima")) table(skunks$plec,skunks$sezon)->tab1 tab1/rep(apply(tab1,2,sum),each=nrow(tab1))*100->tab1.proc windows(16/2.54, 9/2.54) par(mar=c(4,4,4,5)) barplot(tab1.proc, ps=12, xlab="sezon", ylab="procent", main="udział procentowy samic i samców skunksów\n w kolejnych sezonach", col=c("#ff000080","#0000ff80") ) par(xpd=true) legend(3.6,70,legend=c("samice","samce")[2:1], fill=c("#ff000080","#0000ff80")[2:1], bty="n")
Praca na własnych danych Zadanie 2 (na ćwiczenia), funkcje graficzne nadrzędne przeliczające wektory: Histogram pierwszej i drugiej zmiennej ciągłej. windows(16/2.54, 9/2.54) hist(skunks$ciezar) windows(16/2.54, 9/2.54) hist(skunks$ciezar) Boxplot dla pierwszej i drugiej zmiennej ciągłej. windows(16/2.54, 9/2.54) boxplot(skunks$fluor) windows(16/2.54, 9/2.54) boxplot(skunks$fluor) mediana pierwszy i trzeci kwartyl odchylenia ćwiartkowe Ile danych mieści się w zakresie pudełka?
Jak uzyskać pudełko dla średniej i odchylenia standardowego? windows(16/2.54, 9/2.54) boxplot(c(min(skunks$ciezar), mean(skunks$ciezar)-sd(skunks$ciezar), mean(skunks$ciezar), mean(skunks$ciezar)+sd(skunks$ciezar), max(skunks$ciezar) ) ) windows(16/2.54, 9/2.54) x=c(min(skunks$fluor), mean(skunks$fluor)-sd(skunks$fluor), mean(skunks$fluor), mean(skunks$fluor)+sd(skunks$fluor), max(skunks$fluor)) boxplot(x) Gdy u kogoś średnia nie jest w środku pudełka to zapewne ma bardzo odstające dane i oznacza to, że źle je przeniósł do R z Excela.
Jak uzyskać kilka pudełek obok siebie wyznaczonych przez wartości czynników? #Dla median i odchyleń ćwiartkowych windows(16/2.54, 9/2.54) boxplot(ciezar~plec+sezon,skunks) #Dla średnich i odchyleń standardowych MIN=aggregate(CIEZAR~PLEC+SEZON,skunks,min) MEAN.MINUS.SD=aggregate(CIEZAR~PLEC+SEZON,skunks, function(x) mean(x)-sd(x)) MEAN=aggregate(CIEZAR~PLEC+SEZON,skunks,mean) MEAN.PLUS.SD=aggregate(CIEZAR~PLEC+SEZON,skunks, function(x) mean(x)+sd(x)) MAX=aggregate(CIEZAR~PLEC+SEZON,skunks,max) skunks.przelicz=rbind(min,mean.minus.sd,mean,mean.plus.sd,max) windows(16/2.54, 9/2.54) boxplot(ciezar~plec+sezon,skunks.przelicz)
Wyjaśnienia Pudełka dla średnich i odchyleń standardowych są dłuższe niż pudełka dla median i odchyleń ćwiartkowych gdyż: 1. W obszarze pudełka dla median i odchyleń ćwiartkowych mieści się 50% danych 2. W obszarze pudełka dla średnich i odchyleń standardowych mieści się około 70% danych
Praca na własnych danych Zadanie 3 (na ćwiczenia), wykres punktowy i podpisy osi windows(16/2.54, 9/2.54) plot(skunks$ciezar,skunks$fluor) Podpisy osi 0X i 0Y muszą być zmienione! windows(16/2.54, 9/2.54) plot(skunks$ciezar,skunks$fluor, xlab="ciężar [kg]", ylab=expression("stężenie Fluoru [ "* mu %.% g^-1 * "]") ) Zamiana mu na grecką literę Podniesienie. do góry Indeks górny kod dla ppm ylab=expression("stężenie Fluoru [ "* n %.% g^-1 * "]") ) kod dla ppb
Zapamiętanie gotowych wykresów Okno graficzne R to rodzaj PDF nie ma wysokiej jakości. Gotowe pliki zapamiętujemy komenda zapisz, co powoduje odpowiednie przekształcenie kodu do tworzenia wykresu na obraz wysokiej jakości. Kliknąć na gotowy wykres. Plik, zapisz jako i wybrać typ wykresu: Typy rastrowe: Metafile, Pdf, Png, Bipmap, Tiff i Jpg Typ wektorowy: Postscript. Typy wykresów o jakie proszą wydawnictwa naukowe
Zadanie domowe Należy wykonać trzy wykresy w oparciu o własne bazy danych. Każdy wykres ma mieć wielkość 16 10 cm, czcionkę wielkości 12 p i marginesy 4 linijki dolny, 4 linijki lewy, 1 linijkę górny i odpowiedniej długości prawy, tak by zmieścił legendę. 1. Wykres pudełkowy ze średnimi i odchyleniami standardowymi pokazujący zależność pierwszej zmiennej ciągłej od obu czynników. Część 3, rozdział 12 podręcznik do R 2. Wykres pudełkowy ze średnimi i odchyleniami standardowymi pokazujący zależność drugiej zmiennej ciągłej od obu czynników. Część 3, rozdział 12 podręcznik do R 3. Wykres punktowy zależności drugiej zmiennej ciągłej od pierwszej zmiennej ciągłej z różnymi znacznikami dla punktów wyróżnionych przez wartości pierwszego i drugiego czynnika z nałożonymi liniami trendu Część 3, rozdział 13 podręcznik do R
Ocenianie Ogółem można będzie uzyskać 0-5 punktów za wykresy pudełkowe i od 0-5 punktów za wykres punktowy z regresjami. Wykresy pudełkowe Wykres punktowy L. punktów Zrobienie dwóch poprawnych wykresów pudełkowych dla średniej i odchyleń standardowych Zrobienie poprawnego wykresu punktowego z różnymi kolorami i znacznikami dla danych wyróżnionych przez zmienne dyskretne Poprawne podpisy obu osi Poprawne podpisy obu osi 1 Poprawne pokolorowanie pudełek Zmiana etykiet kolumn na krótsze i zaznaczenie jakich pudełek etykiety dotyczą Dodanie linii regresji dla grup danych wyróżnionych przez zmienne dyskretne w odp. kolorach i typach linii Dodanie legendy 1 Dodanie legendy Poprawność wszystkich operacji 1 1 1
Punkty ekstra Punkty ekstra uzyskają osoby, które w oparciu o podręcznik zastosują następujące modyfikacje: 1. Tło inne niż białe, ale nie przesłaniające wyników i podpisów, jaśniejsze dla pola kreślenia i nieco ciemniejsze dla marginesów. 2. Czcionkę szeryfową (tzn. taką w której litery posiadają poziome zakończenia kresek pionowych i ukośnych np. Cambria, Times New Roman i wiele innych) dla etykiet i podpisów osi wielkości 12p. Punkty extra zostaną dodane osobom, ale nie będą wchodzić w maksymalną liczbę punktów, z której wyznaczana będzie ocena końcowa.
Przesłanie pracy domowej Wykonane wykresy należy zapamiętać w formacie Postscript pod nazwami: Fig1-numery indeksów.eps Fig2-numery indeksów.eps Fig3-numery indeksów.eps i przesłać jako trzy załączniki na adres: milka@biol.uw.edu.pl Na zadania czekam do 23.11.2018 Kody tworzące wykresy zapamiętać. Mogą się przydać na kolejnych zajęciach.