Vizualizacija Vizualizacijos funkcijos R R paveikslai kuriami raant

  • Slides: 48
Download presentation
Vizualizacija

Vizualizacija

Vizualizacijos funkcijos R • R paveikslai kuriami rašant komandas. • R integruotą paketą „graphics“

Vizualizacijos funkcijos R • R paveikslai kuriami rašant komandas. • R integruotą paketą „graphics“ sudaro funkcijos skirtos vizualizuoti duomenis ir skaičiavimų rezultatus. • Vizualizavimui sukurta daug paketų, kurie palengvina kuriant aukštos kokybės, publikavimui skirtas iliustracijas (ggplot 2, lattice ir k. t. ). • Dauguma statistinių paketų turi savo vizualizacijos funkcijas leidžiančias viena komanda pavaizduoti tyrimo rezultatus.

Vizualizacija naudojant „graphics“ paketą • Analizuojant duomenis lengviau juos suvokti jei jie yra vizualizuojami.

Vizualizacija naudojant „graphics“ paketą • Analizuojant duomenis lengviau juos suvokti jei jie yra vizualizuojami. • „graphics“ paketą sudaro dvejų tipų funkcijos: • sukuriančios paveikslus (High level plot functions) • leidžiančios koreguoti, papildyti sukurtus paveikslus (low level plot functions) • Darbinei analizei dažnai pakanka naudoti paveikslus sukuriančias funkcijas, norint parengti iliustracijas publikacijai galima naudoti funkcijas skirtas koreguoti ir papildyti sukurtus paveikslus. • Galutinį paveikslą sudaro viena arba kelios komandinės eilutės, todėl paveikslo skirto publikavimui kūrimą geriausiai realizuoti atskiru kodu (script). • Atsisiųskite iš hkk. gf. vu. lt duomenis skirtus vizualizacijai. Išarchyvokite vizualizacijai. zip failą ir įsikelkite duomenis į R projektą load("vizualizacijai. Rdata").

plot • plot(x, y, . . . ) yra viena svarbiausių vizualizavimo funkcijų. •

plot • plot(x, y, . . . ) yra viena svarbiausių vizualizavimo funkcijų. • Padarykite ryšio grafiką tarp objekto kont platumos (lat) ir maksimalios temperatūros (tmax). • plot(kont$lat, kont$tmax)

plot • plot rezultatas priklauso nuo to kokiems duomenims ją pritaikysime. • Padarykite šiuos

plot • plot rezultatas priklauso nuo to kokiems duomenims ją pritaikysime. • Padarykite šiuos paveikslus ir apibūdinkite ką gavote: plot(kont$lat, kont$tmin) plot(kont$cci. OCtype, kont$tamp) plot(kont) plot(temp$time, temp$`19. 75`)

plot

plot

plot • Plot funkcijai galima nurodyti kaip vaizduoti taškus ir linijas t. y. kokį

plot • Plot funkcijai galima nurodyti kaip vaizduoti taškus ir linijas t. y. kokį paveikslėlio tipą naudoti • plot(x, y, type = "l") • Vizualizuokite temp$`19. 75` kaitą naudodami šias type reikšmes: p, l, b, c, o, h, n

plot

plot

hist , barplot, boxplot, qqplot, • Padarykite šiuos paveikslus ir apibūdinkite ką gavote: •

hist , barplot, boxplot, qqplot, • Padarykite šiuos paveikslus ir apibūdinkite ką gavote: • hist(kont$tamp) • barplot(kont$tamp) • boxplot(kont$tamp) • qqplot(kont$tmin, kont$tmax) • qqnorm(kont$tmin) • qqline(kont$tmin)

hist , barplot, boxplot, qqplot, • qqline yra low level funkcij. Ji naujo paveikslo

hist , barplot, boxplot, qqplot, • qqline yra low level funkcij. Ji naujo paveikslo nesukuria, o papildo normalaus skirstinio linija prieš tai sukurtą.

image, contour • image(matrica), contour(matrica) atvaizduoja matricą. • Padarykite paveikslą atvaizduojantį temperatūros kaitą pagal

image, contour • image(matrica), contour(matrica) atvaizduoja matricą. • Padarykite paveikslą atvaizduojantį temperatūros kaitą pagal ilgumą image(as. matrix(temp[, 2: 12])) • Atvaizduokite temperatūros pasiskirstymą Europoje 2011 -09 -16 d. pagal 3 D masyvo t duomenis, kuriame laikas yra trečia dimensija. image(t[ , , "2011 -09 -16"]) contour(t[ , , "2011 -09 -16"], nlevels = 30)

image, contour

image, contour

Paveikslų parametrai • pch taško simbolis (pch=1, 2, . . . ) arba (pch=“simbolis“)

Paveikslų parametrai • pch taško simbolis (pch=1, 2, . . . ) arba (pch=“simbolis“) • lty linijos tipas (lty=1, 2, . . . ) • lwd linijos storis (lwd= 1, 2, . . . ) • col spalva (col=“white”) arba (col="#FFFFFF") • xlim, ylim x, y ašies ribos xlim=c(min, max) • xlab, ylab ašių pavadinimai xlab=“my label” • main paveikslo pavadinimas main=“Pavadinimas”

Paveikslų parametrai • Parašykite kodą, kuris padarytu du paveikslus: plot(temp$time, temp$`19. 75`) plot(temp$time, temp$`19.

Paveikslų parametrai • Parašykite kodą, kuris padarytu du paveikslus: plot(temp$time, temp$`19. 75`) plot(temp$time, temp$`19. 75`, type = "b", pch = 3, lty=2, lwd= 2, col="red", xlim=c(as. Date("2011 -01 -01"), as. Date("2014 -12 -26")), ylim=c(-10, 30), xlab = "Metai", ylab = "Temperatūra", main="Temperatūros kaita 19. 75 ilgumoje")

Paveikslų parametrai R spalvų pavadinimus galite rasti http: //research. stowers−institute. org/efg/R/Color/Chart

Paveikslų parametrai R spalvų pavadinimus galite rasti http: //research. stowers−institute. org/efg/R/Color/Chart

Low level funkcijos • Low level funkcijos leidžia papildyti arba redaguoti prieš tai sukurtus

Low level funkcijos • Low level funkcijos leidžia papildyti arba redaguoti prieš tai sukurtus paveikslus (paskutinį sukurtą). • Sukurkite paveikslėlį ( vieno pav. komandas rašykite į kodą): • plot(temp$time, temp$`19. 75`) • Pridėkite liniją vaizduojančią temperatūros kaitą 20. 75 ilgumoje • lines(temp$time, temp$`20. 75`, col="blue") • Pridėkite taškus vaizduojančius temperatūros kaitą 21. 75 ilgumoje • points(temp$time, temp$`21. 75`, col="red")

Low level funkcijos • Pridėkite tekstą parodantį temperatūrą 21. 75 ilgumoje text(x, y, tekstas)

Low level funkcijos • Pridėkite tekstą parodantį temperatūrą 21. 75 ilgumoje text(x, y, tekstas) text(temp$time, temp$`21. 75`, col="red") • Pridėkime vidurkį vaizduojančią horizontalią liniją ir vertikalią liniją žyminčią 2013 -02 -25 abline(h=mean(temp$`21. 75`)) abline(v=as. Date("2013 -02 -25"))

Legenda • R „graphics“ paketo funkcijos automatiškai legendos nesukuria. Ją reikia padaryti/sudaryti su funkcija

Legenda • R „graphics“ paketo funkcijos automatiškai legendos nesukuria. Ją reikia padaryti/sudaryti su funkcija legend(). • Funkcijos legend() argumentai nusako: • legendos padėtį x, y koordinatėmis arba raktažodžiais (pvz. „top“, „topright“) • Vektoriumi legend=c(), kuriame surašomi legendos narių pavadinimai. • Toliau apibūdinami reikiami legendos dedamųjų parametrai pvz. linijų spalvos col = c("black", "red"), kur „black“ - pirmo nario linijos, taško spalva, „red“- antro nario linijos/taško spalva. plot(temp$time, temp$`19. 75`, type = "l") lines(temp$time, temp$`20. 75`, col="red", lty=2) legend("bottomright", legend=c("19. 75", "20. 75"), col = c("black", "red"), lty=c(1, 2) )

Legenda • Naudodami tuos pačius duomenis padarykite paveikslėlį kuriame linijos būtų su taškais ir

Legenda • Naudodami tuos pačius duomenis padarykite paveikslėlį kuriame linijos būtų su taškais ir pavadintos Juoda ir Raudona.

Kelių paveikslų komponavimas • Norint sudaryti paveikslą iš kelių dalių naudojama komanda par(mfrow=c(x, y)).

Kelių paveikslų komponavimas • Norint sudaryti paveikslą iš kelių dalių naudojama komanda par(mfrow=c(x, y)). • par(mfrow=c(x, y)) komanda įvykdoma prieš kuriant paveikslą. x – nurodo į kiek eilučių bus suskirstytas paveikslas, o y į kiek stulpelių. • Parašykite kodą par(mfrow=c(2, 3)) for (laikas in 10: 15){image(t[, , laikas])} par(mfrow=c(1, 1)) • Paveikslą į dalis galima padalinti naudojant layout(matrix) funkciją, matrix parodo kaip eilės tvarka bus išdėlioti kuriami paveikslai. Pvz. matrix(c(1, 1, 2, 3), nrows=2) tris paveikslus išdėlios taip: 1 viršutinėje dalyje (eilutėje), o 2, 3 apatinėje dalyje (eilutėje)

Kelių paveikslų komponavimas • Paveikslą į dalis galima padalinti naudojant layout(matrix) funkciją, matrix parodo

Kelių paveikslų komponavimas • Paveikslą į dalis galima padalinti naudojant layout(matrix) funkciją, matrix parodo kaip eilės tvarka bus išdėlioti kuriami paveikslai. Pvz. matrix(c(1, 1, 2, 3), nrows=2) tris paveikslus išdėlios taip: kairėje (1 stulpelyje), o 2 ir 3 dešinėje (2 stulpelyje). • Parašykite kodą layout(matrix(c(1, 1, 2, 3), nrow=2)) for (laikas in 10: 12) {image(t[, , laikas])} par(mfrow=c(1, 1))

Paveikslų išsaugojimas • R Studio paveikslus galima išsaugoti juos eksportuojant norimu formatu. • Kode

Paveikslų išsaugojimas • R Studio paveikslus galima išsaugoti juos eksportuojant norimu formatu. • Kode paveikslėliai išsaugomi šiais žingsniais: 1. Naudojant funkciją sukuriančią pasirinkto tipo failo šabloną (device) ir nurodant failo pavadinimą ir jei norima parametrus (pvz. dydį rezoliuciją). 2. Užpildant sukurtą šabloną paveikslu 3. Nurodant kad šablonas užpildytas png("paveikslas. png") plot(kont$cci. OCtype) dev. off() • Paveikslus galima išsaugoti įvairiais formatais png, jpeg, tiff, bmp, pdf, ps ir kitais.

Paveikslų išsaugojimas Sukurkite du png paveikslus su skirtingais parametrais: png(filename = „pav 2. png",

Paveikslų išsaugojimas Sukurkite du png paveikslus su skirtingais parametrais: png(filename = „pav 2. png", width = 480, height = 480, units = "px", pointsize = 12, res = 150) plot(kont$cci. OCtype) dev. off() png(filename = "pav 3. png", width = 960, height = 480, units = "px", pointsize = 8, res = 150) plot(kont$cci. OCtype) dev. off()

Paveikslų išsaugojimas

Paveikslų išsaugojimas

ggplot 2 • Google „ggplot 2“ • http: //ggplot 2. tidyverse. org/reference/ • http:

ggplot 2 • Google „ggplot 2“ • http: //ggplot 2. tidyverse. org/reference/ • http: //www. ling. upenn. edu/~joseff/avml 2012/ • http: //www. sthda. com/english/wiki/ggplot 2 essentials

ggplot 2 • Paveikslai ggplot 2 formuojami iš sluoksnių sujungiamų „+“ simboliu. • ggplot

ggplot 2 • Paveikslai ggplot 2 formuojami iš sluoksnių sujungiamų „+“ simboliu. • ggplot 2 paveikslą sudaro: • • • duomenų sluoksnis (naudojami duomenys), estetikos sluoksnis (kas yra x, y, simbolika) , grafiniai sluoksniai (taškai, linijos, boxplot ir t. t. ), statistiniai sluoksniai (trendai, skirstiniai ir t. t. ), kiti sluoksniai (keičiantys ašis, legendą, paveikslėlio foną ir t. t. )

ggplot 2 • ggplot 2 paveikslai kuriami tik pagal data frame duomenis suformuotus ilgu

ggplot 2 • ggplot 2 paveikslai kuriami tik pagal data frame duomenis suformuotus ilgu formatu! • Vieno ar keli stulpelių data frame turinys naudojamas atvaizduoti duomenis, o kitų nusakyti simboliką. • Pavyzdžiui, platumos ir tmax ryšiui sudarant lat ir tmax stulpeliai naudojami nustatyti taškų padėtį, o cci. OCtype jų spalvą

ggplot objektas ir estetika Sukurkite ggplot objektą kuriame naudosime kont duomenis, x bus platuma

ggplot objektas ir estetika Sukurkite ggplot objektą kuriame naudosime kont duomenis, x bus platuma (lat stulpelis), o y – maksimali temperatūra (tmax stulpelis) library(ggplot 2) p<-ggplot(data = kont, aes(x=lat, y=tmax)) • Su funkcija ggplot() sukuriame ggplot objektą • data= nurodo data frame su duomenimis • aes() – estetika t. y kokius duomenis naudosime x, y. , vėliau čia nurodysime pagal ką išskirti simbolika

Grafiniai sluoksniai • Grafiniai sluoksniai leidžia atvaizduoti ggplot objektą. Yra labai daug grafinių sluoksnių

Grafiniai sluoksniai • Grafiniai sluoksniai leidžia atvaizduoti ggplot objektą. Yra labai daug grafinių sluoksnių tipų. Jie visi prasideda „geom_“ • Jei paveikslą darote kode norint į pamatyti reikia atspausdinti ggplot objektą print(). Jei objektas p rašome print(p). library(ggplot 2) p<-ggplot(data = kont, aes(x=lat, y=tmax))+ geom_line() print(p)

Grafiniai sluoksniai • Tam pačiam objektui atvaizduoti galime naudoti kelis grafinius sluoksnius. • Pridėkite

Grafiniai sluoksniai • Tam pačiam objektui atvaizduoti galime naudoti kelis grafinius sluoksnius. • Pridėkite taškų sluoksnį geom_point() • Atkreipkite dėmesį, kad naudojamos x ir y reikšmės nurodytos aes(). library(ggplot 2) p<-ggplot(data = kont, aes(x=lat, y=tmax))+ geom_line() + geom_point() print(p)

Grafiniai sluoksniai • Linijos jungiančios x ir y reikšmių poras nėra labai informatyvios, todėl

Grafiniai sluoksniai • Linijos jungiančios x ir y reikšmių poras nėra labai informatyvios, todėl jas panaikinkime library(ggplot 2) p<-ggplot(data = kont, aes(x=lat, y=tmax))+ geom_point() print(p)

Statistiniai sluoksniai • Statistiniai sluoksniai leidžia atvaizduoti ggplot objekto statistiką. • Statistinių sluoksnių tipų

Statistiniai sluoksniai • Statistiniai sluoksniai leidžia atvaizduoti ggplot objekto statistiką. • Statistinių sluoksnių tipų taip pat daug. Jie visi prasideda „stat_“ • Pridėkime ryšio grafiko trendą library(ggplot 2) p<-ggplot(data = kont, aes(x=lat, y=tmax))+ geom_point()+ stat_smooth() print(p)

theme • Ne su duomenų vaizdavimu susijusius vizualinius parametrus galime keisti nurodant temos (theme())

theme • Ne su duomenų vaizdavimu susijusius vizualinius parametrus galime keisti nurodant temos (theme()) parametrus • Paprastumo dėlei galime naudoti jau sukurtas temas -vizualinių parametrų rinkinius, pvz. theme_bw (), theme_light(), theme_linedraw() library(ggplot 2) p<-ggplot(data = kont, aes(x=lat, y=tmax))+ geom_point()+ stat_smooth()+ theme_bw() print(p)

Simbolika pagal kintamojo reikšmę • Jei norime, kad pagal vieną iš data frame stulpelį

Simbolika pagal kintamojo reikšmę • Jei norime, kad pagal vieną iš data frame stulpelį būtų geometrijos objektai būtų atvaizduojami skirtingais simboliais aes() reikia nurodyti duomenų stulpelį ir kokį simbolikos aspektą keisime. • Atvaizduokime geometrijos elementus skirtinga spalva (color=) pagal ilgumą (lon). library(ggplot 2) p<-ggplot(data = kont, aes(x=lat, y=tmax, color=lon))+ geom_point()+ stat_smooth()+ theme_bw() print(p)

Simbolika pagal kintamojo reikšmę • Atvaizduokime geometrijos elementus skirtingu simboliu (pch=) pagal kontinentalumą (cci.

Simbolika pagal kintamojo reikšmę • Atvaizduokime geometrijos elementus skirtingu simboliu (pch=) pagal kontinentalumą (cci. OCtype). library(ggplot 2) p<-ggplot(data = kont, aes(x=lat, y=tmax, color=lon, pch=cci. OCtype))+ geom_point()+ stat_smooth()+ theme_bw() print(p)

Paveikslai iš kelių dalių • Paveikslus galima sudalinti pagal data frame stulpelio reikšmes naudojant

Paveikslai iš kelių dalių • Paveikslus galima sudalinti pagal data frame stulpelio reikšmes naudojant facet_wrap() jei pagal vieną kintamajį ir facet_grid() jei pagal daugiau kintamųjų. • Padarykite paveikslą sudaryta iš kelių dalių pagal cci. OCtype kintamajį. library(ggplot 2) p<-ggplot(data = kont, aes(x=lat, y=tmax, color=lon, pch=cci. OCtype))+ geom_point()+ stat_smooth()+ facet_wrap(~cci. OCtype)+ theme_bw() print(p)

Pavadinimai • Paveikslo komponentų pavadinimai gali būti nurodomi naudojant labs(). • Sluoksniai gali būti

Pavadinimai • Paveikslo komponentų pavadinimai gali būti nurodomi naudojant labs(). • Sluoksniai gali būti pridedami prie sukurto ggplot objekto pavyzdžiui p<p+. . . . p<-p+labs( title="Tmax priklausomybė nuo lat", x="Platuma", y="Maksimali temperatūra", colour = "Platuma", pch="Klimato kontinentalumas") print(p)

ggplot objekto/paveikslo išsaugojimas • Objektą/ paveikslą galima išsaugoti norimu formatu ggsave() funkcija p<-p+labs( title="Tmax

ggplot objekto/paveikslo išsaugojimas • Objektą/ paveikslą galima išsaugoti norimu formatu ggsave() funkcija p<-p+labs( title="Tmax priklausomybė nuo lat", x="Platuma", y="Maksimali temperatūra", colour = "Platuma", pch="Klimato kontinentalumas") ggsave("paveikslas. png")

Užduotis • Pagal temp data frame duomenis atvaizduokite temperatūros pasiskirstymą (density) skirtingais metais.

Užduotis • Pagal temp data frame duomenis atvaizduokite temperatūros pasiskirstymą (density) skirtingais metais.

Užduotis: duomenų parengimas • ggplot objektas kuriamas pagal data frame duomenis. • Norėdami atvaizduoti

Užduotis: duomenų parengimas • ggplot objektas kuriamas pagal data frame duomenis. • Norėdami atvaizduoti duomenis pagal metus turime susikurti stulpelį metai. (atsiminkite/ susiraskite funkciją format()) • temp duomenys išskaidyti pagal ilgumą, o mums reikia juos sujungti į vieną stulpelį (iš plataus į ilgą formatą) (atsiminkite/ susiraskite tam skirtą reshape 2 paketo funkciją)

Užduotis: duomenų parengimas Parengtoje data frame turėtų būti stulpeliai metai, ilguma ir juos atitinkanti

Užduotis: duomenų parengimas Parengtoje data frame turėtų būti stulpeliai metai, ilguma ir juos atitinkanti temperatūra.

Užduotis ggplot objekto kūrimas, estetika ir geometrinis sluoksnis • Sukurkite ggplot objektą estetikoje kaip

Užduotis ggplot objekto kūrimas, estetika ir geometrinis sluoksnis • Sukurkite ggplot objektą estetikoje kaip x naudodami temperatūros duomenis bei nurodykite, kad spalva priklausytų nuo metų. • Atvaizduokite sukurtą objektą naudodami geom_density().

Užduotis ggplot objekto kūrimas, estetika ir geometrinis sluoksnis • Sukurkite ggplot objektą estetikoje kaip

Užduotis ggplot objekto kūrimas, estetika ir geometrinis sluoksnis • Sukurkite ggplot objektą estetikoje kaip x naudodami temperatūros duomenis bei nurodykite, kad spalva priklausytų nuo metų. • Atvaizduokite sukurtą objektą naudodami geom_density().

Užduotis ggplot objekto kūrimas, estetika ir geometrinis sluoksnis • Pakeiskite, paveikslo estetiką taip, kad

Užduotis ggplot objekto kūrimas, estetika ir geometrinis sluoksnis • Pakeiskite, paveikslo estetiką taip, kad pgal metus būtų vaizduojama ne linijos spalva (color), bet užpildas (fill) • Nurodykite, kad geom_density() geometrija butų permatoma 70% alpha=0. 3.

Theme ir pavadinimai • Suteikite paveikslo dalims tinkamus pavadinimus ir išsaugokite jį png formatu.

Theme ir pavadinimai • Suteikite paveikslo dalims tinkamus pavadinimus ir išsaugokite jį png formatu.

Namų darbų užduotys (1) • Padarykite spaudai tinkamą paveikslą png formatu naudodami „graphics“ paketo

Namų darbų užduotys (1) • Padarykite spaudai tinkamą paveikslą png formatu naudodami „graphics“ paketo funkcijas. Paveiksle pavaizduokite maksimalios ir minimalios temperatūros priklausomybę nuo platumos (kont duomenys).

Namų darbų užduotys (2) • Padarykite spaudai tinkamą paveikslą png formatu naudodami „ggplot 2“

Namų darbų užduotys (2) • Padarykite spaudai tinkamą paveikslą png formatu naudodami „ggplot 2“ paketo funkcijas. Paveiksle pavaizduokite minimalios ir maksimalios temperatūros pasiskirstymą skirtingo kontinentalumo klimate (kont duomenys).

Namų darbų užduotys (3) • Užduočių sprendimai bus vertinami (1 seminaro pažymys) ! •

Namų darbų užduotys (3) • Užduočių sprendimai bus vertinami (1 seminaro pažymys) ! • Paveikslus ir parengtą kodą (dalis failo pavadinimo jūsų vardas) turite atsiųsti edvinas. stonevicius@gf. vu. lt iki lapkričio 21 d. 24: 00 val. • Pavėlavus atsiskaityti už užduotis, kas parą vertinimas sumažės 1 balu.