BraMira / APPR-2014-15

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

Zemljevidi #6

Closed BraMira closed 9 years ago

BraMira commented 9 years ago

Kako bi pri prvem zemeljvidu naredila, da ima vsaka regija svojo barvo? Pri zemljevidu Evrope je boljše, če se imena držav za katerih ni podatkov, ne izpišejo? Pri državah, ki so zelo male in imena ne izgledajo preveč lepo kot npr. Monako, kako bi samo za nekaj teh določenih naredila, tam kvadratek in potem potegnila črto do imena, ki bi bilo malo premaknjeno za preglednost?

BraMira commented 9 years ago

Pri zadnji bolj natančno, ne vem kako bi koordinate in imena povedala, katere naj pogleda.

jaanos commented 9 years ago

Tako, raje naj bo zemljevid berljiv - tako ni potrebno izpisovati imen držav, za katere nimaš podatkov. Tudi za majhne države (npr. Luksemburg) nima smisla pisati imen; drugim ga lahko nekoliko skrajšaš in/ali zmanjšaš. Puščice načeloma lahko dodajaš z ukazom arrows, a se žal z spplot ne razume najbolje. Sicer pa si nekatera imena že premaknila - če bi želela na mesto države narisati točko, si pomagaš z "sp.points".

Tako lahko narišeš samo imena držav, za katere imaš podatke; poleg tega ti Portugalsko izpiše navpično, na mesto Monaka pa naredi rdečo piko (te morda sicer nočeš):

rot <- ifelse(imena1 == "Portugal", 90, 0)
evropa$Povprečje.2004 <- Evropa$Povprecje_2004
p2004 <- !is.na(Evropa$Povprecje_2004)
print(spplot(evropa,"Povprečje.2004",col.regions=topo.colors(50),
             main = "Povprečna pričakovana starost v letu 2004",
             sp.layout = list(list("sp.text",koord[p2004,],imena1[p2004],cex=0.4,srt=rot[p2004]),
                              list("sp.points", evropa[evropa$CntryName == "Monaco",],
                                   pch = 19, col = "red"))))
BraMira commented 9 years ago

Kako bi pa naredila, da bi potem pri Monaku poleg imena pisalo še vrednost zraven?

A ni možno puščic risati v spplot pri sp.layout , da napišeš "sp.lines"?

jaanos commented 9 years ago

Če hočeš, da se še kaj zraven izpiše, potem bo trebo to vključiti pri "sp.text" - v tem primeru bo potrebno poskrbeti, da p2004 vključuje želene koordinate, ter da je ustrezno besedilo v imena1. Lahko bi seveda dodala tudi nov ukaz "sp.text".

"sp.lines" zna risati črte, ampak dela nekoliko drugače kot lines. Koordinate točk namreč pričakuje v objektu tipa Line, ki ga dobimo iz matrike koordinat (kot koord, ampak s samo dvema vrsticama, če želimo eno samo črto). Če zna risati tudi puščice, nisem ugotovil. Nekoliko zamaknjen napis "Monaco" in črto do (nezamaknjene) pike lahko torej dobiš tako:

monaco <- koord[rep("Monaco", 2),]
monaco[1,] <- monaco[1,] - c(1, 2)
koord["Monaco",] <- monaco[1,]
p2004 <- !is.na(Evropa$Povprecje_2004) | evropa$CntryName == "Monaco"
print(spplot(evropa,"Povprečje.2004",col.regions=topo.colors(50),
             main = "Povprečna pričakovana starost v letu 2004",
             sp.layout = list(list("sp.text",koord[p2004,],imena1[p2004],cex=0.4,srt=rot[p2004]),
                              list("sp.points", evropa[evropa$CntryName == "Monaco",],
                                   pch = 19, col = "red"),
                              list("sp.lines", Line(monaco), col = "red"))))
BraMira commented 9 years ago

Zdaj sem ugotovila, da mi ene države sploh ne pobarva oz. ene ko ne bi smel pa jih. Vidim, da je napaka v tem, da v tabelo Evropa ni dodalo vseh držav iz ZivZad, kot npr. United Kingdom, vendar ne vem kako bi popravil oz. kje točno se zalomi.

jaanos commented 9 years ago

Monaka dejansko nimaš med podatki, tako da ga bodisi pobrišiz iz zemljevida, ali pa dodaj s funkcijo preuredi (trenutno počneš oboje). Tam bo potrebno dodati Črno goro; v podatkih imaš še Ciper, ki pa ga ni na zemljevidu. Lahko se ga znebiš pri preurejanju:

Evropa <- preuredi1(ZivZad[rownames(ZivZad) != "Cyprus",],evropa)

Prej je bilo dodanih preveč držav (več kot v zemljevidu), zato je zadnjo izpustilo.

BraMira commented 9 years ago

Zdaj dela. Hvala.