Closed jaanos closed 9 years ago
Še to sem pozabil omeniti: iz poročila seveda odstrani tisti dve sliki, ki sta prišli iz vzorčnega programa, saj ju nimaš in ti tako poročila ne bo prevedlo.
Mislim da sem nalogo zdaj popravila kot ste rekli, ste morda opazili še kaj za popravit?
Pri vključevanju slik v poročilo dodaj še širino, da ne bodo štrlele čez rob besedila:
\includegraphics[width=\textwidth]{../slike/graf.pdf}
Morda lahko še poskrbiš, da bo vrstica Legenda za tortni graf na isti strani kot sama legenda (pred njo daš \newpage
, da skoči na novo stran). Ampak s takimi malenkostmi se lahko ukvarjaš tudi kasneje.
Spoštovani,
pri izdelavi zemljevida se mi je malo zataknilo, in sicer na zemljevidu so drugačna imena regij kot jih imam v tabeli ( na zemljevidu npr. Notranjsko-kraška, v tabeli Notranjsko.kraška) Ali se to da kako urediti ker bi rada iz tabele prikazala povprečja dodanih vrednosti v posamezni regiji za leto 2012( z različnimi odtenki barv). Imam pa še en problem v tabeli imam 2 regiji več kot na zemljevidu(Zahodna Slovenija in vzhodna Slovenija) naj ju izločim pri prikazu povprečij na zemljevidu?
Najlepša hvala za pomoč.
Če se imena ne ujemajo čisto, to ni velik problem - v ta namen je priložena funkcija preuredi
, ki naj bi pravilno preuredila, v kolikor se oba vektorja imen enako razporedita (torej, če urediš po abecedi, dobiš isto zaporedje regij tako iz tvojih podatkov kot iz zemljevida). Žal se je pri tej funkciji pripetila napaka, zaradi česar ta ne deluje pravilno v primeru, ko imaš en sam stolpec (kar boš potrebovala). Funkcija naj bo torej taka:
preuredi <- function(podatki, zemljevid) {
nove.slo <- c()
manjkajo <- ! nove.slo %in% rownames(podatki)
M <- as.data.frame(matrix(nrow=sum(manjkajo), ncol=length(podatki)))
names(M) <- names(podatki)
row.names(M) <- nove.slo[manjkajo]
podatki <- rbind(podatki, M)
ord <- order(rownames(podatki))[rank(levels(zemljevid$NAME_1)[rank(zemljevid$NAME_1)])]
out <- data.frame(podatki)[ord, ]
if (ncol(podatki) == 1) {
out <- data.frame(out)
names(out) <- names(podatki)
rownames(out) <- rownames(podatki)[ord]
}
return(out)
}
(sem jo še nekoliko popravil, da bo res delovalo pravilno).
Sedaj lahko s to funkcijo preurediš svoje podatke. Pri tem izpustiš vzhodno in zahodno Slovenijo (tudi celotno Slovenijo si seveda izpustila). Ker imaš podatke v vrstici, jo bo potrebno pred tem transponirati:
povprecje <- preuredi(apply(DODANAVRED[445, c(6:9, 11:18)], 1, c), slo)
min.povprecje <- min(povprecje, na.rm=TRUE)
max.povprecje <- max(povprecje, na.rm=TRUE)
norm.2012 <- (povprecje-min.povprecje)/(max.povprecje-min.povprecje)
Sedaj lahko iz norm.2012
dobiš barve - najbolje bo, če uporabiš rgb
, kot smo pokazali na vajah (seveda določi barvo, preden rišeš zemljevid - trenutno jo imaš zakomentirano). Če boš hotela še legendo, lahko uporabiš spplot
- v tem primeru bo dodajanje imen na zemljevid potekalo nekoliko drugače (glej spelapovrzenic/APPR-2014-15#7).
Še to: glede na to, da gre tukaj za nov problem, ki ni povezan s prejšnjim, bi se spodobilo, če bi zaprla trenutni issue (če je seveda vse razrešeno) ter odprla novega (ni treba zdaj tega narediti - boš pa vedela za naslednjič).
Pri uvozu podatkov pazi na to, da navajaš imena datotek z isto velikostjo črk, kot je pravo ime datoteke. Tako imaš datoteko
BRUTOSLO.csv
- točno tako ime uporabi tudi pri uvozu. Nekateri sistemi so namreč občutljivi za velikost črk.Pri risanju tortnega diagrama ti nekatere oznake poreže. Morda lahko rešiš ta problem z vstavljanjem novih vrstic v imena (znak za novo vrstico dobiš z
"\n"
), ampak bo verjetno lažje, če tudi tukaj pobereš ven samo šifre. To lahko narediš tako, dalbls
dobiš kot; torej pobereš ven prvi niz velikih črk (pri C si imela še
"...od tega: "
, kar tudi ne sodi na sliko).V glavnem programu kličeš
xml.r
- to ni potrebno, saj si ga že vključila v datotekiuvoz.r
(prav tako ni smiselno, saj tam ne kličeš nobene funkcije iz tega programa). Poskušaš klicati tudiporocilo.tex
, kar pa ne bo šlo, saj to ni program v R-ju. Poročilo bo potrebno posebej prevesti.Trenutno ti poročila ne prevede, za kar so krivi predvsem spletni naslovi. Te je potrebno navajati znotraj ukaza
\url{}
, za kar pa potrebuješ paketurl
:Poskrbi, da bo poročilo urejeno - uporabljaj npr. tabele (
tabular
), sezname (itemize
,enumerate
) in vse drugo, kar lahko narediš v LaTeXu. Slike so trenutno prevelike - potrebno bo podati širino:Pred
\textwidth
lahko podaš faktor: če hočeš, da je tvoja slika široka za polovico strani, podajwidth=0.5\textwidth
. To bo sicer naredilo nekoliko manjše slike, saj si jih risala na A4. Svetujem torej, da pri risanju v PDF odstraniš možnostpaper
- potem bo PDF širok toliko, kolikor je široka sama slika, in bo z zgornjim ukazom široka ravno toliko, kot je široko besedilo v poročilu.