Open admira05 opened 4 years ago
Problem se pojavi, ker uporabljaš operatorjem %>%
po nasavitvi imena stolpca s colnames
- tako se posreduje le ime in ne celotna razpredelnica.
Ena možnost je, da stolpce preimenuješ z rename
, npr.
data1 <- read_csv2("podatki/ods_st_akt.csv", locale=locale(encoding="Windows-1250"),
skip=2, na=c("", "...") ) %>%
rename(drzava.prihodnjega.bivalisca=`DRŽAVA PRIHODNJEGA PREBIVALIŠČA`) %>%
gather(key="leto.status", value="stevilo", -SPOL, -drzava.prihodnjega.bivalisca) %>%
separate(leto.status, c("leto","status"), "(?<=[0-9]) ") %>%
mutate(leto=parse_number(leto))
Tukaj želiš ohraniti tudi stolpec SPOL
, tako da ga je potrebno podati pri gather
.
Druga možnost je, da preimenuješ s colnames
, nato pa nadaljnje operacije izvajaš na spremenjeni razpredelnici:
data2 <- read_csv2("podatki/notranje.selitve.csv", locale=locale(encoding="Windows-1250"),
skip=2, na=c("", "...", "-"))
colnames(data2)[1] <- "regija"
data2 <- data2 %>%
gather(key="leto.regijav", value="stevilo", -regija) %>%
separate(leto.regijav, c("leto", "regijav"), "(?<=[0-9]) ") %>%
mutate(leto=parse_number(leto),
regija=gsub("e( |$)", "a\\1", regija) %>% substring(3),
regijav=gsub("o( |$)", "a\\1", regijav) %>% substring(2))
Tukaj sem dodal še -
za manjkajoče podatke, da se števila pravilno uvozijo, ter popravil ime stolpca leto.regijav
pri gather
. Poleg tega se pri regijah odstrani sklanjatev (e-ji oziroma o-ji pred presledkom ali koncem niza se zamenjajo z a) in predlog (odstranijo se prve tri oziroma dve črki). Tako bo mogoče podatke združevati z drugimi, kjer imaš regije.
Pozdravljeni, probala sem na podoben nacin, kot smo delali na vajah, urediti stolpce tabele z funkcijo gather , vendar mi ne zazna. Cilj je naredit tabele na podobno kot prvo (data). Prosim za pomoc.
Lp