jernejbanevec / APPR-2017

Repozitorij z gradivi za predmet Analiza podatkov s programom R v študijskem letu 2016/17
MIT License
0 stars 0 forks source link

Vizualizacija in shiny #5

Open jernejbanevec opened 7 years ago

jernejbanevec commented 7 years ago

Pozdravljeni, imam eno vprašanje. Ko poskušam doma zagnati vizualizacijo (prejšnjič sem jo delal na fakulteti) mi napiše: "Error in uvozi.zemljevid("http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/50m/cultural/ne_50m_admin_0_countries.zip", : could not find function "readShapeSpatial"". Project.rmd mi pa deluje normalno in navadno izriše vse grafe. Imam doma morda prestaro verzijo R-Studia ali tiči problem kje drugje? Vnaprej se vam zahvaljujem za odgovor in lep pozdrav, Jernej Banevec

jernejbanevec commented 7 years ago

Pravzaprav bi bilo najverjetneje bolje da bi to kodo, ki sem jo dogradil, pisal v analiza.r?

jaanos commented 7 years ago

Funkcija readShapeSpatial je del knjižnice maptools, ki se naloži v uvozi.zemljevid.r, ta se pa kliče iz libraries.r. Najlažje bo, če slednji program pokličeš pred začetkom dela, da naložiš vse potrebne knjižnice (pri prevajanje poročila se vsakič pokliče, zato tam delujejo zemljevidi).

Kar se tiče organizacije kode, lahko delaš, kot hočeš. Vsekakor pa bi bilo smiselno imeti v analiza.r kodo, ki se nanaša na napredno analizo podatkov.

jernejbanevec commented 7 years ago

To sem popravil in sedaj deluje. Najlepša hvala. Sedaj imam pa novo vprašanje glede funkcije "melt" iz knjižnice "reshape". Želim preurediti data.frame, ki je imenovana "zdruzen1" in v data.frame imenovan "zdruzen", v katerem bi bila prva 2 stolpca enaka (zgolj dodalo bi se par enakih vrstic) in potem tretja vrstica bi bila imenovana "VRSTA", kjer bi bile vrednosti: "NOM.STEVILO.SPLAVOV", "NATALITETA", "REALNA.PLACA" in v zadnjem stolpcu bi bile vrednosti teh spremenljivk, ki so bile prej v stolpcih. In tako mi ne deluje, ker sem najbrž nekaj narobe poimenoval in ne vem kaj, tako da Vas prosim za pomoč.

Vnaprej se vam zahvaljujem za odgovor in lep pozdrav, Jernej

jaanos commented 7 years ago

Ne uporabljaj knjižnice reshape - namesto nje uporabi reshape2. Če si že uvozil reshape, bo najlažje, da znova naložiš projekt - klikni desno zgoraj, kjer je ime projekta, ter nato iz menija znova izberi svoj projekt. Potem lahko še enkrat poženeš svojo kodo, pri čemer seveda uporabiš knjižnico reshape2.

Da dobiš želeno obliko, pri id.vars dodaj še stolpec LETO, pri measure.vars pa ga izpusti (tj., izpusti še drugi stolpec). Ime stolpca z imenom spremenljivke podaj s parametrom variable.name (s piko namesto podčrtaja).

jernejbanevec commented 7 years ago

Najlepša hvala, to sedaj deluje. Issua pa še nebom zaprl, saj nameravam v naslednjih dneh zaključiti s projektom, tako da bom morda imel še kakšno vprašanje. Lp

jernejbanevec commented 7 years ago

Pozdravljeni, imam še eno vprašanje. Kako naj na en koordinatni sistem narišem več grafov (to bi uprabljal pri shinyu)? Se da z geom_line() potem pod data izbrati zgolj določene podatke ki jih želim povezati z lomljeno premico?

jaanos commented 7 years ago

Najlažje je, če imaš vse podatke, ki jih želiš prikazati, v isti razpredenici (podani kot data), potem pa npr. določiš barvo črte za vsako prikazano spremenljivko (v aes nastaviš color na stolpec, ki loči različne meritve).

Druga možnost je, da dodaš še en geom_line, ki mu podaš svoj data in aes. Vendar pazljivo s tem - če so podatki na isti skali, bo to v redu (najbrž bo treba sicer posebej poskrbeti, da se tako narisane črte ločijo med seboj, npr. z barvo ali tipom črte); če so pa podatki na različnih skalah, pa bo graf najbrž neberljiv. Nasploh se pa odsvetuje, da bi na istem grafu prikazoval dve skali - ggplot2 namenoma tega ne omogoča na enostaven način.

jernejbanevec commented 7 years ago

Torej tabela oblike kot jo imam pod shranjeno pod imenom "zdruzen1", ki ima svojo kodo v analiza.r? Kajti ko poskušam postaviti y pri aes na "KOLICINA", mi poda error. Ali je za to boljša tabela "zdruzen", ki je v obliki tidy data?

jaanos commented 7 years ago

Podatki v razpredelnici zdruzen1 so na različnih skalah - ker nimaš več kaj razbijati, je v resnici taka tabela že v obliki tidy data. Če bi hotel prikazati več črt na istem grafu, bi sicer lahko uporabil razpredelnico, kot je zdruzen, ampak kot rečeno, to odsvetujem zaradi različnih skal.

Če hočeš prikazati več podatkov na istem grafu, raje uporabi drugačne načine prikaza (npr. barva ali velikost pike) - glej janpristovnik#7 za primer.

jernejbanevec commented 7 years ago

Torej takšen shiny kot imam sedaj ni dober? Kajti na njem se mi zdi da je bolje videti trende gibanja oziroma korelacije realne plače in natalitete oziroma nominalnega števila splavov.

jernejbanevec commented 7 years ago

Mislim ali tudi če imam količino poimenovano količina in poleg realne plače dopisano "v 10000 dolarjih" je to še vedno narobe oziroma ne najbolje prikazano?

jernejbanevec commented 7 years ago

Pozdravljeni, sem popravil napačno predstavitev v shiny-u tako da sem naredil dva grafa, za vsakega imam tako svojo skalo in se podatki ne prekrivajo. S projektom sem nekako skoraj zaključil, imam zgolj še eno vprašanje. Kako lahko na zemljevidu, kjer imam prikazano povezavo med nataliteto in povprečno realno letno plačo, preimenujem oznake (na primer iz REALNA.PLACA v "Povprečna realna letna plača")?

jaanos commented 7 years ago

V redu, bom dodal povezavo na repozitorij za zagovore, tako da se lahko s profesorjem domeniš za termin zagovora. Če boš še kaj spreminjal, mi javi, da posodobim povezavo.

Naslove legend lahko spreminjaš tako, da grafu prišteješ guides, npr.

  guides(fill = guide_colorbar("Nataliteta"),
         size = guide_legend("Povprečna realna letna plača"))

Za vsako legendo (tukaj imaš torej legendi za fill in size podaš naslov k funkciji za ustrezen tip legende.

jaanos commented 7 years ago

Še to: svetujem, da v poročilu pred bloki kode pustiš prazno vrstico, sicer se lahko zgodi to, da se npr. graf izpiše v isto vrstico kot besedilo pred njim.

jernejbanevec commented 7 years ago

Pozdravljeni, sem še malo popravljal in uredil Rmarkdown, tako da Vas prosim če lahko posodobite povezavo.

Zahvaljujem se vam za vso pomoč in lep pozdrav, Jernej

jaanos commented 7 years ago

V redu, bom posodobil.