TejaR / 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

html tabela #4

Closed TejaR closed 9 years ago

TejaR commented 9 years ago

V html tabeli mi ne izpiše šumnikov..

jaanos commented 9 years ago

Da bodo šumniki pravilno delovali, v xml.r pri htmlTreeParse kot encodingpodaj "UTF-8".

V vizualizacija.r se ustavi, ko hočeš (sklepam) preurediti razpredelnico invest, saj kličeš zemljevid.leta kot funkcijo, kar pa to seveda ni. To lahko dosežeš na isti način kot pri zemljevid.leta:

invest <- invest[as.character(regije$NAME_1), ]
TejaR commented 9 years ago

Hvala! Teja Rupnik

On 6. jan. 2015, at 19.20, Janoš Vidali notifications@github.com wrote:

invest <- invest[as.character(regije$NAME_1), ]

TejaR commented 9 years ago

Pozdravljeni! Sedaj mi zemljevid uvozi vendar pdf ne morem odpreti. Zakaj se je to zgodilo? Hvala in LP! Teja Rupnik

On 6. jan. 2015, at 22.11, Teja Rupnik teja@rupniktwins.com wrote:

Hvala! Teja Rupnik

On 6. jan. 2015, at 19.20, Janoš Vidali <notifications@github.com mailto:notifications@github.com> wrote:

invest <- invest[as.character(regije$NAME_1), ]

jaanos commented 9 years ago

Je zadnja verzija na GitHubu? V vizualizacija.r med pdf in dev.off() ne narediš nič, zato ti tudi datoteke PDF ne naredi pravilno.

Mimogrede, trenutno ti prvega grafa iz Grafi.R ne nariše pravilno - pa še opozorilo javi, ker za barve podaš kar funkcijo rainbow brez argumenta. Tako bo pravilno:

barplot(as.matrix(leta), names.arg = 2008:2013,
        beside = TRUE, legend = rownames(leta),
        args.legend = c(cex = 0.7), col = rainbow(13))

Še to: če si zaprla issue in naknadno ugotoviš, da še nisi rešila vseh problemov, ga lahko znova odpreš (gumb Reopen Issue) in potem spet zapreš, ko probleme rešiš. Če pa gre za nepovezane probleme, pa je bolje odpreti nov issue.

TejaR commented 9 years ago

Pozdravljeni! Sedaj imam napisanih nekaj zemljevidov, vendar mislim, da mi svi niso uspeli. Če bi lahko prosim malo pogledali. Hvala in lep pozdrav! Teja Rupnik

On 8. jan. 2015, at 00.31, Janoš Vidali notifications@github.com wrote:

Je zadnja verzija na GitHubu? V vizualizacija.r med pdf in dev.off() ne narediš nič, zato ti tudi datoteke PDF ne naredi pravilno.

Mimogrede, trenutno ti prvega grafa iz Grafi.R ne nariše pravilno - pa še opozorilo javi, ker za barve podaš kar funkcijo rainbow brez argumenta. Tako bo pravilno:

barplot(as.matrix(leta), names.arg = 2008:2013, beside = TRUE, legend = rownames(leta), args.legend = c(cex = 0.7), col = rainbow(13)) Še to: če si zaprla issue in naknadno ugotoviš, da še nisi rešila vseh problemov, ga lahko znova odpreš (gumb Reopen Issue) in potem spet zapreš, ko probleme rešiš. Če pa gre za nepovezane probleme, pa je bolje odpreti nov issue.

— Reply to this email directly or view it on GitHub https://github.com/TejaR/APPR-2014-15/issues/4#issuecomment-69111926.

jaanos commented 9 years ago

Ko poženem tvoj program, se ti ustavi pri regije4.pdf. Tam hočeš podatke dobivati iz osmega stolpca razpredelnice zemljevid.leta, ki pa ima samo 6 stolpcev - zadnji je za leto 2013, tako da bo treba ustrezno popraviti. Lahko narediš kar

regije$stanovanja2013 <- zemljevid.leta[,"X2013"]

Potem ti bo zemljevid deloval. Druga napaka se pojavi pri risanju zemljevida - sklicuješ se na spremenljivko norm.prebivalstvo, definirano pa imaš norm.povprecje (morda bo bolj pametno ta imena spremeniti).

Zemljevidi so drugače v redu, edino imena regij bi lahko malo premaknila, da ne bodo segala čez robove. Tako lahko pred risanjem zemljevidov narediš nekaj takega:

koordinate <- coordinates(regije)
rownames(koordinate) <- as.character(regije$NAME_1) # za lažje indeksiranje
# premaknemo po osi x
koordinate["Jugovzhodna Slovenija", 1] <- koordinate["Jugovzhodna Slovenija", 1] - 0.05
# premaknemo po osi y
koordinate["Obalno-kraška", 2] <- koordinate["Obalno-kraška", 2] - 0.1

Podobno lahko premakneš še oznake drugih regij, ki gredo čez robove. Potem lahko matriko koordinate uporabiš pri izpisovanju oznak:

text(koordinate,labels=as.character(regije$NAME_1),cex=0.5)
print(spplot(regije, "stanovanja2008", col.regions  = topo.colors(50),
             main = "Število stanovanj po regijah (leto 2008)",
             sp.layout = list(list("sp.text", koordinate,as.character(regije$NAME_1), cex = 0.5))))

Podobno seveda narediš še pri ostalih zemljevidih.

TejaR commented 9 years ago

Hvala! Sedaj mije ostala le še ena osnovna napak in sicer na zemljevidih mi ne izpiše šumnikov, šeprav se v glavnem programu ta ukaz dodala.. Zanima me še ali bi bilo bolje če bi pri zemljevidi o poprečnih vrednistih dodala legende? NIsem jih namreč uspela dodati.

LP! Teja Rupnik

On 9. jan. 2015, at 15.07, Janoš Vidali notifications@github.com wrote:

Ko poženem tvoj program, se ti ustavi pri regije4.pdf. Tam hočeš podatke dobivati iz osmega stolpca razpredelnice zemljevid.leta, ki pa ima samo 6 stolpcev - zadnji je za leto 2013, tako da bo treba ustrezno popraviti. Lahko narediš kar

regije$stanovanja2013 <- zemljevid.leta[,"X2013"] Potem ti bo zemljevid deloval. Druga napaka se pojavi pri risanju zemljevida - sklicuješ se na spremenljivko norm.prebivalstvo, definirano pa imaš norm.povprecje (morda bo bolj pametno ta imena spremeniti).

Zemljevidi so drugače v redu, edino imena regij bi lahko malo premaknila, da ne bodo segala čez robove. Tako lahko pred risanjem zemljevidov narediš nekaj takega:

koordinate <- coordinates(regije) rownames(koordinate) <- as.character(regije$NAME_1) # za lažje indeksiranje

premaknemo po osi x

koordinate["Jugovzhodna Slovenija", 1] <- koordinate["Jugovzhodna Slovenija", 1] - 0.05

premaknemo po osi y

koordinate["Obalno-kraška", 2] <- koordinate["Obalno-kraška", 2] - 0.1 Podobno lahko premakneš še oznake drugih regij, ki gredo čez robove. Potem lahko matriko koordinate uporabiš pri izpisovanju oznak:

text(koordinate,labels=as.character(regije$NAME_1),cex=0.5) print(spplot(regije, "stanovanja2008", col.regions = topo.colors(50), main = "Število stanovanj po regijah (leto 2008)", sp.layout = list(list("sp.text", koordinate,as.character(regije$NAME_1), cex = 0.5)))) Podobno seveda narediš še pri ostalih zemljevidih.

— Reply to this email directly or view it on GitHub https://github.com/TejaR/APPR-2014-15/issues/4#issuecomment-69337892.

jaanos commented 9 years ago

Ne skrbi glede šumnikov na zemljevidih - to je problem knjižnice za izrisovanje v PDF in ne tvojega programa (pri meni npr. deluje).

Če hočeš dodati legendo še za povprečne vrednosti, bo najbolje, da prestaviš izbiranje barv za posamezne regije k samemu risanju zemljevida. Tako bo v spremenljivki barve ostala barvna lestvica, iz katere potem izpelješ legendo:

n <- 100
barve <- rgb(1, 1, (n:1)/n)
plot(regije, col = barve[unlist(1+(n-1)*norm.povprecje)],bg="lightblue")

k <- 10 # število barv v legendi
stopnje <- (1:k)*n/k
legend("bottomright",
       legend = round(seq(min.povprecje, max.povprecje,
                          (max.povprecje-min.povprecje)/(k-1))),
       fill = barve[stopnje], bg = "white")

Mimogrede, pri izpisovanju imen na vsakem zemljevidu ne pozabi nadomestiti coordinates(regije) s koordinate, da se ti upoštevajo premiki imen. Seveda lahko premakneš tudi druga imena - tudi Osrednjeslovensko regijo, da se ti ne prekriva s piko, ki naj bi označevala Ljubljano. Koordinate, ki jih dobiš iz zemljevida, so le središča vsake regije. Če želiš narediti piko za Ljubljano, tako raje naredi

points(14.51, 46.06, pch = 18, cex = 0.5, col = "red")

Če bi želela risati več točk hkrati, pa bi seveda bilo bolje, če bi njihove koordinate zbrala v matriki z dvema stolpcema.

Še to: poročila ti trenutno ne prevede. Problem je pri ukazu \url - tako kot pri drugih ukazih moraš tudi tukaj njegov argument (torej spletni naslov) podati znotraj zavitih oklepajev in ne navadnih oklepajev. Morda bi še predlagal, da nekoliko povečaš zemljevide v poročilu. Če bi jih želela povečati toliko, da bi bili širši od besedila, si lahko pomagaš z ukazom \makebox:

\makebox[\textwidth][c]{
\includegraphics[width=1.2\textwidth]{../slike/regije1.pdf}
}

Pri drugem grafu se ti legenda prekriva s stolpci. Da bi zmanjšala pisavo v legendi, ukazu barplot dodaj parameter args.legend = c(cex = 0.6) (oziroma kakšno drugo velikost pisave, če se ti zdi bolj primerna).