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

popravki #1

Open VidStarc opened 9 years ago

VidStarc commented 9 years ago

Odprl sem issue za popravke.

jaanos commented 9 years ago

Ko odpiraš issue, se sicer spodobi napisati, kje je problem.

V tvoji tabeli se podatki začnejo s tretjo vrstico. Nisem prepričan, zakaj, ampak če pri delanju seznama vzameš vrstice od tretje naprej, dobiš na začetku še en NULL, tako da začneš s četrto vrstico. Podatki o kategoriji so v značkah <th>, tako da pobereš tudi te, ko delaš seznam. V nekaterih vrsticah so še regije - te bo najbolje porezati in jih dodati na koncu kot nov stolpec, kjer bo ta podatek v vsaki vrstici. Imena stolpcev dobiš v drugi vrstici tabele.

uvozi.ovce <- function() {
  url.ovce <- "podatki/stevilo-ovac.htm"
  doc.ovce <- htmlTreeParse(url.ovce,
                            useInternalNodes=TRUE,encoding="Windows-1250")

  tabela <- getNodeSet(doc.ovce,"//table")
  vrstica <- getNodeSet(tabela[[1]], "./tr")
  seznam <- lapply(vrstica[4:length(vrstica)-1], stripByPath, "./td|./th")
  seznam <- lapply(seznam, function(x) x[(length(x)-7):length(x)])
  matrika <- matrix(unlist(seznam),nrow=length(seznam),byrow=TRUE)
  colnames(matrika) <- stripByPath(vrstica[[2]], ".//th")
  return(data.frame(Regija = c(rep("Slovenija", 9),
                               rep("Vzhodna Slovenija", 9),
                               rep("Zahodna Slovenija", 9)),
                    Kategorija = matrika[,1],
                    apply(matrika[,2:8], 2, as.numeric)))
}

Datoteke v imeniku lib so mišljene samo za definiranje funkcij, tako da bo bolje, če ta program vključiš drugje (npr. v uvoz.r) in pokličeš funkcijo.

source("lib/xml.r")
cat("Uvažam podatke o stevilu ovac...razpredelnica stevilo.ovac\n")
stevilo.ovac<-uvozi.ovce()

Prikazovanje razpredelnice z View je morda koristno, dokler pišeš program, a v končnem programu naj tega ne bo - njegov izhod so grafi, ki jih narediš iz uvoženih podatkov.

VidStarc commented 9 years ago

najlepša hvala. sedaj pa imam še eno vprašanje: kako bi naredil oz. vnesel črto povprečja pri grafu število goveda v letu 2007?

jaanos commented 9 years ago

Vodoravno črto lahko dodaš na graf z abline in parametrom h:

abline(h = povprecje)