robonomist / robonomistClient

https://robonomist.github.io/robonomistClient/
1 stars 0 forks source link

tidy_time = T parametri pudottaa havaintoja data ja data_get-funktioissa #37

Closed pskinnun closed 11 months ago

pskinnun commented 1 year ago

Jos käyttää tidy_time -parametria niin viimeisin havainto putoaa pois esim. tässä luken datasetissä: luke/02_Maatalous/06_Talous/02_Maataloustuotteiden_tuottajahinnat/07_Tuottajahinnat_Vilja_rypsi_rapsi_kk.px"

En tiedä liittyykö siihen että aineisto päivittynyt tänä aamuna.

esimerkki:


# viimeisin havainto "2023/08", päivittynyt tänään aamulla
robonomistClient::data("luke/02_Maatalous/06_Talous/02_Maataloustuotteiden_tuottajahinnat/07_Tuottajahinnat_Vilja_rypsi_rapsi_kk.px") |> 
    pull(Kuukausi) |> 
    unique() 

# Viimeisin havainto "2023-07-01"
robonomistClient::data("luke/02_Maatalous/06_Talous/02_Maataloustuotteiden_tuottajahinnat/07_Tuottajahinnat_Vilja_rypsi_rapsi_kk.px", tidy_time = T) |>
    pull(time) |> 
    unique() 
itkonen commented 11 months ago

Tämän näköjään Luke onkin jo korjannut. Luken datoissa on aiemminkin ollut virheitä aikamuuttujissa, mikä on hankaloittanut datan hakua.

pskinnun commented 8 months ago

Jos käyttää tidy_time = TRUE -parametriä niin hakee data-funktio aineiston jostain välimuistista? Nyt näyttää myös Tilastokeskuksen aineistossa että uusin päivitys jää pois samalla tavalla jos käyttää tidy_time =T.

>   data("StatFin/tyti/statfin_tyti_pxt_135y.px", tidy_time = T) 
✔ Requesting data [127ms]
# Robonomist id: StatFin/tyti/statfin_tyti_pxt_135y.px
# Title:         Väestö työmarkkina-aseman mukaan muuttujina Kuukausi, Sukupuoli, Ikäluokka ja Tiedot
# Last updated:  2024-01-25 08:00:00
# Next update:   2024-02-20 08:00:00
# A tibble:      38,880 × 5

>   data("StatFin/tyti/statfin_tyti_pxt_135y.px", tidy_time = F)
✔ Requesting data [126ms]
# Robonomist id: StatFin/tyti/statfin_tyti_pxt_135y.px
# Title:         Väestö työmarkkina-aseman mukaan muuttujina Kuukausi, Sukupuoli, Ikäluokka ja Tiedot
# Last updated:  2024-02-20 08:00:00
# Next update:   2024-03-26 08:00:00
# A tibble:      39,096 × 5
itkonen commented 8 months ago

Tässä on näköjään välimuisti tehnyt tempun: Välimuisti riippuu data()-funktion argumenteista, eli nämä kaksi kutsua tallentuvat välimuistiin erillisinä, mutta tässä tapauksessa ensimmäinen kutsu lienee suoritettu hieman ennen kuin data on päivittynyt Tilastokeskuksella, joten tulos on jäänyt välimuistiin, eikä se ole ehtinyt invalidoitua vielä silloin, kun jälkimmäinen haku on jo palauttanut päivitetyn datan. Välimuistin olisi tarkoitus säästää aikaa, mutta erikoistaupauksissa saattaa syntyä tällaisia ongelmia.

Välimuistin käytön voi kiertää lisäämällä ylimääräisen argumentin data()-funktioon. Esimerkiksi näin:

data("StatFin/tyti/statfin_tyti_pxt_135y.px", tidy_time = T, hash = Sys.time())

Tässä kellonaika saa joka kutsulla uuden arvon, joten välimuistin näkökulmasta kutsu poikkeaa aina edellisestä.