VidStarc / APPR-2014-15

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

Uvoz in grafi #2

Open jaanos opened 9 years ago

jaanos commented 9 years ago

V razpredelnici stevilo.goveda imaš stolpec ocena, ki bi ga lahko uporabil za urejenostno spremenljivko:

stevilo.goveda$ocena <- factor(stevilo.goveda$ocena, levels = c("slabo", "solidno", "odlično"), ordered = TRUE)

Grafe rišeš v datoteko grafi.pdf v korenskem imeniku projekta. Za to je namenjena mapa slike, zato raje naredi

pdf("slike/grafi.pdf")

Še bolje bo, če vsak graf daš v svojo datoteko.

Pri prvih treh grafih nimaš nobenih oznak za stolpce, poleg tega pa so oznake na osi y v eksponentni notaciji, kar ni najlepše. Morda bi lahko prikazal samo osnovne kategorije posebej za vzhodno in zahodno Slovenijo:

vrstice <- c(3:6, 9:12, 15:17, 19:22)
podatki <- matrix(stevilo.goveda[c(vrstice+22, vrstice+44), 3], ncol = 2)
barplot(podatki,beside = TRUE, main="Število goveda v letu 2007",
        names.arg = c("Vzhodna Slovenija", "Zahodna Slovenija"),
        legend.text = stevilo.goveda[vrstice, 2], args.legend = c(cex = 0.7),
        xlab = "leto 2007", ylab = "število goveda",col = rainbow(nrow(podatki)))

Podobno lahko narediš še za naslednji dve leti.

Tudi pri prašičih bi lahko izpustil vsote - lahko pa deliš podatke s 1000, pa v oznaki navedeš, da gre za tisoče prašičev. Legendo vključi tudi pri ostalih dveh grafih - besedilo zanjo pa lahko seveda dobiš kar iz ustreznih vrstic razpredelnice.

Pri tortnem diagramu nujno izpusti vsote - navsezadnje tukaj prikazuješ deleže, zato se podatki ne smejo ponavljati. Številk vrstic nima smisla prikazovati, ker ti nič ne povedo - lahko bi pa prikazal dejanske številke, ali pa deleže. Velikost črk v legendi nastaviš s cex in ne text.font. Tako bi lahko imel nekaj takega:

vrstice <- c(2, 4:9)
slices <- stevilo.ovac[vrstice,3] 
pie3D(slices,explode=0.2,main="Število ovac-SLOVENIJA")
legend("topright", legend = stevilo.ovac[vrstice, 2],
       fill = rainbow(length(vrstice)), cex=0.7, title="LEGENDA")

V poročilu imaš še vedno vključeni vzorčni sliki - pobriši ju in vključi narisane grafe. Če boš imel vsak graf v svoji datoteki v mapi slike, potem jih lahko vključiš z \includegraphics, pri čemer podaš še širino slike, npr.:

\includegraphics[width=\textwidth]{../slike/graf.pdf}

Če pa hočeš imeti vse grafe v istem PDF-ju, si pomagaj s paketom pdfpages in ukazom \includepdf.

V besedilu imaš tudi imena datotek in spremenljivk - lepo bi bilo, če se ločijo od ostalega besedila, kar lahko dosežeš z ukazom \verb, npr.

\verb|stevilo-prasicev.csv|

Tako se tudi znebiš problemov z morebitnimi posebnimi znaki. Znak | takoj za \verb služi kot oznaka za konec niza - po potrebi ga lahko zamenjaš (npr. \verb+|+ ti izpiše ravno ta znak). Druga možnost, primerna tudi za spletne naslove, je uporaba paketa url in ukaza \url.

VidStarc commented 9 years ago

pozdravljeni! najlepša hvala za nasvete. popravil sem vse, urejenostno spremenljivko sem dodal nekako drugače. zanima me pa zakaj so pri tortnem diagramu v legendi šumniki narobe napisani oziroma kako to popraviti.

jaanos commented 9 years ago

Nisem prepričan, zakaj se to dogaja - očitno se podatki pri uvozu iz XML pretvorijo v UTF-8, čeprav tvoj sistem uporablja drugačno kodiranje znakov (sem pokusil na Windowsih in se zgodi isto). Glede na to, da je edini problematičen stolpec Kategorija v razpredelnici stevilo.ovac, bo najbolje, če v xml.r poskrbiš za ustrezno pretvorbo:

  return(data.frame(Regija = c(rep("Slovenija", 9),
                               rep("Vzhodna Slovenija", 9),
                               rep("Zahodna Slovenija", 9)),
                    Kategorija = iconv(matrika[,1], from = "UTF-8"),
                    apply(matrika[,2:8], 2, as.numeric)))

Za definicijo funkcije potem še izpišeš, da uvažaš podatke - to lahko izpustiš, saj tam tega (še) ne počneš, poleg tega pa tako ali tako isto izpišeš pred dejanskim uvozom.

Še to: iz repozitorija pobriši datoteki .RData in porocilo/porocilo.synctex.gz (pobriši pri sebi, potem pa ju označi za commit). S posodobljeno datoteko .gitignore ti ju potem niti ne bo več ponujalo, da ju nalagaš na repozitorij.

VidStarc commented 9 years ago

ok ja sedaj pa dela, hvala. tudi datoteki sem zbrisal tako da je vse popravljeno.