Closed Duzo12 closed 5 years ago
Ne, s tem ni nič narobe. Če pogledaš tipe stolpcev v teh dveh tabelah:
> sapply(tabelaBDP,class)
Država Vrednost.BDP
"character" "numeric"
> sapply(tabelaPlace,class)
Država Višina.place
"factor" "numeric"
vidiš, da sta stolpca Država različnih tipov. To je zato, ker si ponekod po read_html()
dodal %>% as.character()
, ponekod pa ne. Morda je bolj korektno, da to poenotiš, vendar (zaenkrat še) ni bistveno. To lahko narediš tako: tabelaBDP$Država = as.character(tabelaBDP$Država)
. Mimogrede bi še priporočal, da se v splošnem izogibaš uporabi šumnikov v imenih spremenljivk in stolpcev, saj zna to včasih povzročati preglavice.
Kar se tiče joina pa ni potrebno, da imata tabeli enako število vrstic. Je pa pomembno, da se zavedaš kakšen join uporabiti v kakšni situaciji. Uporabil si inner join, kar pomeni, da bo končna tabela vsebovala le tiste elemente (države), ki nastopajo v obeh tabelah hkrati. Prilagam ti sliko za intuicijo. Sicer se gre za SQL, ampak logika je enaka.
Ko združim dve poljubni tabeli, ki nista enaki po velikosti mi rstudio izpiše: Joining, by = "Država" Warning messages: 1: Column
Država
joining factor and character vector, coercing into character vector Zanima me ali to pomeni da sem storil napako ali moram tabeli urediti tako, da bosta imeli enako število vrstic in ju šele nato združiti. Sicer mi rstudio naredi tabelo, ki jo želim, vendar me samo zanima če je to napaka?