R-paketti avoimen Suomi-datan louhintaan

On tullut aika yhdistää voimavarat ja koota kattava kokoelma eri tahoilla kehitettyjä ratkaisuja avoimen datan käsittelyyn yhteen pakettiin. Kehitteillä oleva avoimen lähdekoodin sorvi-paketti on suunnattu palvelemaan erityisesti suomalaista avoimen datan yhteisöä ja kokoamaan yleiskäyttöisiä välineitä tietoaineistojen hakuun, putsaamiseen, yhdistelyyn, louhintaan ja visualisointiin.  Esimerkkejä paketin käytöstä Suomi-datan penkomiseen tullaan julkaisemaan lisää tässä blogissa.

Paketti on kehitysvaiheessa, ja uudet tekijät ja lisäykset ovat tervetulleita. Ensimmäisenä esimerkkinä sorvin käytöstä hain kuntien asukasluvut Väestörekisterikeskuksen sivulta ja visualisoin kuntien sukupuolijakauman Suomen kartalla. Miesvaltaiset kunnat on merkitty sinisellä ja naisvaltaiset punaisella.

Suomen kuntien sukupuolijakauma

Matkan varrella ilmeni seuraavia teknisiä ongelmia: 1) gadm-muotoinen Suomen kuntajako on vanhentunut versio, esimerkiksi Rovaniemen ja Rovaniemen maalaiskunnan yhdistyminen ei ole näytä olevan mukana tässä versiossa. Alueet, joille asutustietoja ei ollut saatavilla, on merkitty karttaan valkoisella. Kertokaa, jos tiedätte mistä ajantasaisempi kuntajako on saatavilla R:lle. 2) En onnistunut käsittelemään skandeja R-paketin käännössä, joten ne piti ensin poistaa kuntien nimistä. Tämä tuskin vaikuttanee tuloksiin. Osaako joku kertoa, miten skandit jotenkin mukaan R-pakettiin? 3) Väestörekisterikeskuksen tiedot piti hakea parsimalla keskuksen verkkosivun taulukkoa XML-paketin työkaluilla. Kätevämpi tapa (kuten Juuso aiemmin mainitsi) olisi hyödyntää aineistoa suoraan PC Axis-muodosta esim. Tilastokeskuksen sivuilta, vinkkejä otetaan vastaan.

PÄIVITYS 6.1.2013: Blogin R-skriptejä ylläpidetään jatkossa Githubissa. Tämän artikkelin koodit löytyvät täältä.

Tietoja antagomir

http://www.iki.fi/Leo.Lahti
This entry was posted in R, sorvi, tiedonlouhinta, uutinen, visualisointi. Bookmark the permalink.

12 vastausta artikkeliin: R-paketti avoimen Suomi-datan louhintaan

  1. JTT sanoo:

    Tuohon kuntakarttaan liittyvä ehdotus. Maanmittauslaitos jakaa ilmaiseksi yleiskartan ESRI shape-tiedostona (http://www.maanmittauslaitos.fi/aineistot-palvelut/digitaaliset-tuotteet/ilmaiset-aineistot/hankinta). Yleiskartasta löytyvät muun muassa ajantasaisemmat kuntarajat. Lisenssiehtojen mukaisesti aineistoa voi vapaasti kopioida ja levittää tietyin rajoituksin (http://www.maanmittauslaitos.fi/node/6417). Ehkä tuon shapefilen voisi muuntaa vaikkapa SpatialPolygons-muotoon, niin se olisi vähän helpommin käytettävissä tuossa Sorvi-paketissa?

    • antagomir sanoo:

      Kiitos, tämä näyttää onnistuvan. Latasin Suomen shape-filet Maanmittauslaitoksen sivuilta ja konvertoin SpatialPolygon-muotoon readShapePoly-funktiolla (maptools-paketista). Oletusarvoinen projektio näyttää Suomen kartan hieman vääntyneenä, nyt vielä pitää etsiä oikeat parametrit CRS:lle (readShapePoly-funktion proj4string-argumentti), tai löytyykö muuta tapaa kokeilla eri projektioita SpatialPolygons-visualisoinnissa. Pistän esimerkin myöhemmin tähän blogiin.

  2. JTT sanoo:

    Olen onnistunut käyttämään skandeja R-paketeissa, ainakin Windows-ympäristössä, jos aineistoa, esimerkiksi data framea, on käsitelty UTF-8 muodossa. Skandithan eivät kuulu ASCII-merkistöön. Manuaalissa Writing R Extensions on muutamia hyviä vinkkejä asian ratkaisemiseksi (http://cran.r-project.org/doc/manuals/R-exts.html), mutta ratkaisu riippui muistaakseni vähän siitä, olivatko skandit aineistossa, ohjesivuissa vai jossakin muualla.

  3. MV sanoo:

    Katsoin sitä hae.väestörekisteri funktiota. Kannattaa hakea se htmllähdetiedosto ensin vaikkapa htmlParse:lla tai readLines:illä. Molemmat ottavat parametriksi URL:n ja molemmissa sen käytetyn merkistön voi vaihtaa. R:n pitäisi osata vaikka mitä merkistöjä joten ongelma on vain sen datan lukeminen oikeassa muodossa. Funktio iconv on parempi merkistömuunoksiin kuin gsub.

    Jos on niin että capabilities(”iconv”) on FALSE kannattaa asentaa R uusiksi tai hankkia ajantasainen käyttöjärjestelmä (Ubuntu).

    • antagomir sanoo:

      Kiitti vinkeistä, Tässä yhteydessä funktiossa käytetty readHTMLTable näyttäisi ajavan saman asian kuin htmlParse ja readLines; iconv-funktion avulla saadaan mäpätyksi eri enkoodaukset kätevästi, otetaan tämä käyttöön tulevissa versioissa.

  4. MVgroupie sanoo:

    Funktio dev.print() ei säilytä kartan mittasuhteita. Suomineito näyttänee paremmalta, jos käytät suoraan png()-funktiota.

  5. talouspiiri sanoo:

    Moi. Täydellinen Newbie täällä, jos sallitte. Asensin mäkille R version 2.13.2 ja R GUI:n. Aloitin elämäni ensimmäisen R-session tavoitteena kokeilla esimerkkiä.

    install.packages(”sorvi”, repos=”http://R-Forge.R-project.org”)
    Warning: dependencies ‘ggplot2’, ‘graph’, ‘igraph’, ‘plyr’, ‘ReadImages’, ‘RgoogleMaps’, ‘XML’ are not available
    also installing the dependency ‘sp’

    Onnistuin googlaamaan, että normaalisti paketteja asennetaan muualta, kuin R-Forgesta. Esim näin:
    install.packages(”plyr”)

    Mutta yksi ei onnistunutkaan:
    install.packages(”graph”)
    Warning message:
    In getDependencies(pkgs, dependencies, available, lib) :
    package ‘graph’ is not available (for R version 2.13.2)

    Googlailin apua, löytyi tämmöstä:
    source(”http://bioconductor.org/biocLite.R”)
    biocLite(”graph”)

    Ajaminen antaa varoitusta ja asennus ei onnistu:
    source(”http://bioconductor.org/biocLite.R”)
    BioC_mirror = http://bioconductor.org
    Change using chooseBioCmirror().
    Warning messages:
    1: In safeSource() : Redefining ‘biocinstall’
    2: In safeSource() : Redefining ‘biocinstallPkgGroups’
    3: In safeSource() : Redefining ‘biocinstallRepos’

    Mitäs nyt kannattais tehdä?

    Ja kehitysideana esimerkkeihin ja Sorviin: pystyisikö alun pakettien asentelun ohjeistamaan niin että tällainen pystymetsä-newbie onnistuu ensimmäisellä kokeilukerrallaan toistamaan esimerkkinne. Olis aivan mahtavaa!

  6. Paluuviite: R and population maps in Finland 31.5.2012 | R bloggerqvist

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s