SamoFMF / APPR-2014-15

Repozitorij z gradivi za predmet Analiza podatkov s programom R v študijskem letu 2014/15
MIT License
0 stars 0 forks source link

Uvoz #3

Closed jaanos closed 9 years ago

jaanos commented 9 years ago

Pri uvozu iz HTML brišeš stolpec s pomočjo zanke for. Namesto tega raje uporabi lapply (ta deluje enako kot sapply, le da ne poskuša pretvoriti dobljenega seznama v vektor):

seznam <- lapply(seznam, function(x) x[1:6])

Ko čistiš podatke v četrtem stolpcu, navedeš celotno abecedo v regularnem izrazu znotraj oglatih oklepajev. Krajše in bolj pregledno bo, če to enostavno navedeš kot a-z (to sicer ne zajame šumnikov, ampak teh najbrž nimaš).

matrika[,4] <- gsub("[a-z ]", "", matrika[,4])

Namesto, da na roko zamenjuješ datume z opombami, se lahko že sproti znebiš vseh opomb tako, da nekoliko spremeniš funkcijo stripByPath:

stripByPath <- function(x, path) {
  unlist(xpathApply(x, path,
                    function(y) gsub("^\\s*(.*?)\\s*$", "\\1",
                                     gsub("\\[[^]]*\\]", "",
                                          xmlValue(y)))))
} 

Pri enem od datumov sta sicer dan in mesec zamenjana, pri drugem pa manjka dan v mesecu, tako da ju bo treba vseeno nadomestiti na roke.

Da se znebiš znakov na začetku v prvem stolpcu, raje z gsub poreži vse, kar ni črka:

matrika[,1] <- gsub("[^a-z ]", "", matrika[,1], ignore.case=TRUE)

V nekaterih vrsticah je sicer navedenih več držav (pri Veliki Britaniji in v primerih, ko se je ime države spremenilo) - te primere bo najbolje kar na roko zamenjati. Glede na to, da imena držav uporabljaš že za imena stolpcev, jih lahko tudi izpustiš iz razpredelnice kot poseben stolpec.

SamoFMF commented 9 years ago

Sem popravil vse, pri državah, ki so imela več imen, sem jih popravil oziroma posodobil, tako da imajo vse države sedaj samo eno ime ter sem odstranil stolpec "Country.or.territory" ter pustil te podatke v row.names.