Closed jhuovari closed 2 years ago
Olisko alkuperäinen vain NULL, jolloin ei tulisi mitään muunnosta? Muunnoksiin ilmeni myös tarve NA-havaintojen käsittelyyn. Esim. viljan hinnoissa on NA kuukausihavaintoja. Yleisesti NA:ta ei kuitenkaan kannata jättää huomiotta. @itkonen
Pystytkö kuvaamaan tarkemmin, missä kohtaa se kaatui? Mietin, kun automaatiota varten homma pitäisi saada toimimaan utf-8:lla ja ääkkösillä, kun automaatio pilvessä toimii utf-8:lla ja datassakin on ääkkösiä.
Yaml kääntyy R:ään listaksi, joten puuttuvat arvot ovat implisiittisesti NULL arvoja. NULL arvon voi myös kirjoittaa eksplisiittisesti yammeliin. Funktio on kirjoitettu niin, että NULL korvataan "alkuperäinen"-stringillä (%||%
-operaattori).
Pitää vielä miettiä, miten nuo puuttuvat vuodet/arvot saisi väännettyä taulukkoon nätisti.
Tein fiksin, joka vääntää kaikki vuodet taulukkoon, vaikka niistä puuttuisi havaintoja: c0d697a
Fiksi korjasin #4 .
Kaatuminen tapahtuu tällä: yaml::write_yaml(list(koe = "alkuperäinen"), file = "koe.yaml")
tai jo tässä: yaml::as.yaml(list(koe = "alkuperäinen"))
Näyttäisi olevan bugi yaml:ssa Tämä toimii: lst <- purrr::map(list(koe = "alkuperäinen"), enc2utf8) yaml::as.yaml(lst)
Näköjään yaml-paketissa on tuollainen puute. Onneksi sille voi syöttää omat handlerit, jotka kääntävät merkit tarvittaessa. Lisäsin tällaiset handlerit stringeille ja listojen nimille. Tämän pitäisi fiksata: 9a519d4f9a9a
Nyt toimii. Vähän erikoista, että aiheutti kaatumisen, ei pelkkää virhettä.
Ollaan painittu vähän vastaavien ongelmien kanssa aiemmin. Siinä käy helposti niin, että eri encoding vaatii merkkijonolle eri määrän muistia, ja sitten C-koodi luuppaa yli ohjelmalle varatun muistialueen, jolloin koko ohjelma kaatuu.
Hyvää joulua!
data_to_yaml aiheuttaa session abortin, jos muunnos on "alkuperäinen". Ei ilmeisesti hyväksy ääkkösiä. Virhe tulee yaml::write_yaml:sta.
Me ollaan äkkösongelmien takia yleensä tehty kaikki englanniksi.