Closed NabergojV closed 8 years ago
Ali lahko napišeš še, kako si dobila html
- da lahko pogledam, kaj točno se dogaja?
Sicer pa mi je nekoliko sumljiv niz (=1>)
- kolikor mi je znano, ta nima posebnega pomena, tako da dejansko iščeš natanko niz =1>
in si ga zapomniš.
Če imaš dejansko HTML tabelo, raje uporabi html_nodes
, da prideš do značk <th>
, in html_text
, da iz njih pobereš besedilo (potem pa ga lahko s strapplyc
naprej obdeluješ).
Aha, vidim, da imaš v zadnjem commitu. Tabelo lahko dobiš takole:
library(rvest)
html <- file("podatki/preseljevanje-v-tujino-po-regijah") %>% read_html()
tabela <- html %>% html_nodes(xpath="//table[1]") %>%
html_table(fill = TRUE) %>% .[[1]] %>%
apply(1, function(x) c(x[is.na(x)], x[!is.na(x)])) %>% t()
Ker ima tabela celice, ki sežejo čez več vrstic, je html_table
ne prebere pravilno in nekatere vrstice prikaže kot krajše, zato je to potrebno popraviti z apply
in dobljeni rezultat t
ransponirati nazaj v želeno obliko.
Seveda bo tukaj treba še urediti tabelo, da bo imela ustrezne vrstice, ter odstraniti odvečne vrstice in pretvoriti nize v števila.
Hvala ponovno!
Še tole bi prosila: v html uvoženi tabeli mi ne delajo šumniki.. kje dodam encoding da popravim to?
Encoding dodaš ukazu read_html
, npr.
html <- file("podatki/preseljevanje-v-tujino-po-regijah") %>% read_html(encoding = "UTF-8")
Če še vedno ne bi delovalo, lahko encoding naknadno nastaviš imenom stolpcev in vsakemu stolpcu posebej, npr.
Encoding(names(tabela2)) <- "UTF-8"
Encoding(tabela2$regija) <- "UTF-8"
Najlepša hvala, sem nastavila samo za stolpec regija, ker ni delalo z:
%>% read_html(encoding = "UTF-8")
Rada bi sestavila vektro, ki bi vseboval imena stolpcev html tabele: