Open OkornA18 opened 4 years ago
Pri 1. in 3. razpredelnici do oblike tidy data manjka le to, da se znebiš sumarnih podatkov. Poleg tega lahko pri 1. razpredelnici leto pretvoriš v številko (npr. 2009/10 v 2009), da lahko razpredelnici združiš. Poleg tega se zadnja "regija" (neznano/tujina) razlikuje v velikosti začetnice, tako da bo potrebno to poenotiti. Vse skupaj bi šlo nekako tako:
tabela13 <- tabela1 %>%
mutate(Leto=parse_number(Leto), # leta pretvorimo v števila
Regija=gsub("^stalno", "Stalno", Regija)) %>% # stalno -> Stalno na začetku
full_join(tabela3) %>% # združimo po skupnih stolpcih in ohranimo vse vrstice
filter(Regija != "SLOVENIJA") %>% # odstranimo sumarne podatke
gather(key="Kategorija", value="Stevilo", -Regija, -Leto) # pretvorimo v tidy data
Nova razpredelnica bo tako poleg stolpcev Regija
in Leto
imela še stolpca Kategorija
in Stevilo
(šumnikom, presledkom in drugim posebnim znakom se pri imenih stolpcev raje izogibamo). Na podoben način lahko uporabiš gather
, da tudi ostale razpredelnice pretvoriš v obliko tidy data (pri tabela2
bo potrebno seveda pretvoriti tudi leto v število).
Sedaj si pri uvozu tabela1
in tabela3
podala ime stolpca stevilo
, zaradi česar združevanje ne deluje tako, kot bi moralo (v vseh vrsticah imaš v stolpcu kategorija
vrednost stevilo
). Najlažje bo, če za imeni stolpcev podaš vrednost, ki jo tam želiš (npr. dijaki
oziroma diplomanti
).
Glede na to, da je vsaka razpredelnica posebej že v obliki tidy data, bi sicer druga možnost bila, da v vsako razpredelnico posebej dodaš stolpec kategorija
z ustrezno vrednostjo, pa potem obe razpredelnici združiš z rbind
(združevanje po vrsticah).
Pozdravljeni! Zanima me če sta 1. in 3. tabela že v tidy data obliki? Za ostale pa me zanima, kako bi lahko združila stolpca moški in ženske oz. izredni in redni študij. Hvala za odgovor in lepo pozdravljeni, Ana Marija Okorn