jakazarnik / APPR-2018-19

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

Napredna analiza #8

Open jakazarnik opened 5 years ago

jakazarnik commented 5 years ago

V analiza.r zelim narediti linearno (oz. lahko bi tud kaksno drugacno), aproksimacijo. Zadevo sem sestavil po vzorcu, ki bi vsaj priblizno moral delat, vendar mi ko pozenem predict sporoca napako:

predict(fit, a) Error in eval(predvars, data, env) : object 'stevilo' not found

jaanos commented 5 years ago

Trenutno imaš fit zgrajen tako, da napoveduješ leto iz leta, kar seveda ni smiselno. Verjetno želiš napovedovati število iz leta:

fit <- lm(data = tabela_mladi, stevilo ~ leto)

Mimogrede, opažam, da so se v commitu 4a60c6dd šumniki zamenjali z dvema vprašajema. Sklepam, da si datoteke odprl v RStudiu mimo projekta in tako ni bilo uporabljeno pravo kodiranje znakov. Da to popraviš, odpri projekt (APPR-2018-19.Rproj), nato pa v RStudiu odpri spremenjene datoteke in v njih popravi šumnike.

jakazarnik commented 5 years ago

šumnike sem popravil, vendar sedaj ko na svojem racubnalniku pozenem naprimer moj.uvoz sezatakne pri prvem sumniku in mi sporoca error (sem poiskusil reopen with enc. UTF8). analizo sem tudi popravil in mi izrise lepo premico, vendar vrednosti, ki jih ta aproksimira manjkajo. analizo sem poiskusil pognati tudi na binderju in ta mi javi napako v vrstici predict: Error in eval(predvars, data, env) : invalid 'envir' argument of type 'closure' V binderju mi tudi celotnega projekta ne odpre vec tako kot bi bilo treba,

MarvinHerzog commented 5 years ago

Glede šumnikov poskusi uporabiti ukaz Sys.setlocale('LC_ALL', 'Slovenian'). Tega daj nekam na začetek .Rmd datoteke, recimo pod uvoz knjižnic.

Napako dobivaš, ker želiš delati predict na objektu a, ki ga nimaš nikjer definiranega. Morda si želel uporabiti predict(fit, cas)? S tem boš dobil napovedi na željenem obdobju.

Meni binder odpre projekt. Na kak način ti ga ne odpre?

jaanos commented 5 years ago

Napaka se pojavi, ker ne definiraš spremenljivke a (oziroma jo definira ena od uvoženih knjižnic) - verjetno hočeš uporabiti cas (prav tako pri definiciji spremenljivke napoved).

Na grafu trenutno prikazuješ samo napovedane podatke. V tabela_mladi imaš podatke za vsako regijo posebej - lahko bi delal napoved za vsako posebej, lahko pa jih enostavno sešteješ in delaš napoved za sumarne podatke, npr.

tabela_mladi_sum <- tabela_mladi %>% group_by(leto) %>% summarise(stevilo=sum(stevilo))

Potem lahko graf s podatki in napovedjo narišeš tako:

mladi_graf3 <- ggplot(tabela_mladi_sum, aes(x=leto, y=stevilo)) +
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE) +
  geom_point(data=napoved, color="red", size=3) +
  labs(title="Napoved števila mladih", y="število prebivalcev 0-14 let") + 
  geom_point()

Iz grafa je sicer razvidno, da linearni model v tem primeru ni najboljši.

Kar se tiče šumnikov - ali si prepričan, da imaš odprt projekt (v RStudiu je torej zgoraj desno ime mapi s tvojim projektom in ne Project: (None))? Ali so ti šumniki prej delovali na tem računalniku? Lahko poskusiš še tako, da pri ukazih source v poročilu dodaš še parameter encoding="UTF-8".

jakazarnik commented 5 years ago

sem popravil spremenljivke, vmes sem jo preimenoval in pozabi spremeniti a-je. Sem tudi izbral podatke za celo Slovenijo. Graf mi sedaj deluje vredu vendar so podatki prevec linearni in jih premica natancno prekrije, ce si pravilno ptedstavljam (rdece pike so natancno na premici).

V desnem zgornjem kotu mi pise pravilno APPR-2018-19.

v binderju pa zgleda tako, ko odprem. ce je tako samo na mojem racunalniku nic narobe, bom poiskusil na domacem z windowsi ce dela okej.

Screenshot 2019-05-17 at 18 05 00
jakazarnik commented 5 years ago

slika je napacna, nisem odpiral svojega projekta... Na binderju mi ga lepo odpre.

jakazarnik commented 5 years ago

Sedaj mi vse deluje okej kar se tice odpiranja porocila, zanima me samo se to zakaj se mi na trenutni napovedi se vedno pojavi samo premica, saj podatki za osredjeslo. regijo niso linearni in rdece tocke nebi vec smele lezati na njej? Hvala za pomoc!

jaanos commented 5 years ago

Pri ggplot še vedno podajaš razpredelnico napoved (namesto npr. tabela_mladi, iz katere delaš napoved) - če to spremeniš, črne pike ne bodo na premici. Rdeče pike prav tako rišeš iz napoved in bodo seveda ležale na premici.