R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Lineaarisen mallin nopea sovittaminen

Tavanomainen lineaarinen regressio sovitetaan R:ssä komennolla lm(). Jos sovitettava malli sisältää enemmän kuin yhden selittävän muuttujan, on malli kätevintä sovittaa kaava-rajapintaa käyttäen, esimerkiksi lm(y ~ x1 + x2, data=dat), jossa y ~ x1 + x2 on siis se kaava, joka spesifioi sovitettavan mallin. Kaavassa ~ -merkin vasemmalla puolella on ennustettava vastemuuttuja ja sen oikealla puolella […]

Posted in R-ohjelmointi | No Comments

Kuvatiedoston tyypin tunnistaminen

Tämä(kin) postaus sai alkunsa pieleen menneestä visualisoinnista. Yritin alunperin tuottaa R:llä GIF-animaatioon tarvittavia kuvia, mutta onnistuin luomaan samaan kansioon joukon sekalaisia, eri tiedostomuodoissa olevia kuvatiedostoja, joissa ei tietenkään ollut edes tiedostopäätteitä. Piti siis selvittää, mitä kuvia oikein tulikaan generoitua… ImageMagick tunnistaa laajan valikoiman erilaisia kuvatyyppejä vaivatta. Koska se löytyi koneelta, kutsuin sitä suoraan R:stä kullekin […]

Posted in Note to self, R-ohjelmointi, Skriptit | No Comments

Apufunktiot uusien pakettien asentamiseen

Kirjoitin aiemmin funktiosta, jolla voi ladata kaikki paketit esimerkiksi CRANin pakettikirjastosta. Uusi githubinstall-paketti kuitenkin laajentaa latausmahdollisuuden Githubinkin puolelle. Tällaista pakettien peilausmahdollisuutta tarvitaan esimerkiksi CRAN-repositoryn perustamiseen tai paikallisen miniCRAN:n perustamiseen. Paketin githubinstall funktio githubinstall:::gh_update_package_list sisältää linkin tiedostoon, johon Githubissa sijaitsevat R-pakettien sijainnit on kerätty (https://raw.githubusercontent.com/hoxo-m/gepuro-task-views-copy/master/package_list.txt). CRAN:n ja muiden vakio-repositoryjen paketit saadaan selville available.packages() -funktiolla. Jaoin pakettienlataustoiminnallisuuden […]

Posted in R-ohjelmointi | No Comments

Kaksiarvoinen vaste ja lineaarinen regressio

Taloustieteissä mallia, jossa ennustetaan kaksiarvoista muuttujaa (0/1) lineaarisella regressiolla, kutsutaan nimellä linear probability model (LPM). LPM-mallissa todennäköisyyden kuulua luokkaan 1 ajatellaan kasvavan lineaarisesti vastemuuttujan arvojen kasvaessa. Tällöin on tietysti vaarana, että ennustettu todennäköisyys tulee suuremmaksi kuin 1, mikä on konseptuaalisesti hankalaa. Esimerkiksi biostatistiikassa tällaista mallia on myös perinteisesti pidetty hyvin huonona käytäntönä, koska monet menetelmän […]

Posted in R-ohjelmointi, Yleistä | No Comments

Shiny – palvelinpään ratkaisut

Shiny on R-paketti, jolla voi helposti tehdä esimerkiksi erilaisia käyttöliittymiä, interaktiivisia visualisointiratkaisuja ja Dashboard-esityksiä. Sovellusten ajaminen paikallisesti Shinyllä tehtyjä ratkaisuja voi ajaa paikallisesti joko RStudio IDE:n kautta tai suoraan R:stä. Paikallisten sovellusten jakaminen on helppoa, sillä käyttäjän koneella tarvitsee olla vain R ja tarvittavat paketit, sovellus voidaan sitten jakaa esimerkiksi organisaation sisäisestä sovellusvarastosta (repository) tai […]

Posted in R-ohjelmointi | No Comments

OCR R:ssä

Olen aiemmin kirjoittanut PDF-tiedostojen käsittelystä tekstinlouhinnan yhteydessä. CRAN:sta löytyvällä pdftools-paketilla on siis mahdollista poimia tekstiä sellaisesta PDF-tiedostosta, jossa teksti on koodattu tekstimuotoon. Toisinaan koko PDF-tiedosto on kuitenkin tallennettu kuvaksi tai kuvina. Tällöin tekstin poimiminen ei ole yhtä suoraviivaista, vaan tiedoston sivut pitää ensin käyttää jonkin Optical Character Recognition (OCR) -työkalun kautta. R:n käyttäjille asiaan on […]

Posted in R-ohjelmointi | No Comments

Suomen kartta-aineistot Tilastokeskuksesta

Tilastokeskus tarjoaa avoimen rajapinnan, josta kartta-aineistoja voi siirtää omaan käyttöön esimerkiksi johonkin sopivaan paikkatieto-ohjelmistoon. Kartta-aineistoja voidaan ladata suoraan URL-osoitteiden kautta. Listan tarjolla olevista aineistoista saa avaamalla vaikkapa selaimessa seuraavan linkin: http://geo.stat.fi/geoserver/wfs?service=WFS&request=GetCapabilities&version=1.0.0 . Linkin takaa avautuu listaus aineistoista. Listauksen kentissä Nametagien välissä on kerrottu kunkin aineiston nimi. Kun nimi on tiedossa, itse tiedosto saadaan ladattua vaikkapa […]

Posted in Note to self, R-ohjelmointi | No Comments

Matematiikkapulma

Sain linkin matematiikkapulmaan. Pulmassa on tarkoituksen ottaa neljä lukua, jotka koostuvat luvuista 1-4, ja löytää sellainen kunkin nelinumeroisen luvun permutaatioiden yhdistelmä, että näiden neljän luvun summaksi tulee tasan 9000. Siis esimerkiksi näin: 1234 1234 1234 1234 —— + 4936 Tässäkin tapauksessa asetetun ongelman voi toki ratkaista päättelemällä esimerkiksi seuraavasti: Yksikään numeroista 1, 2, 3, ja […]

Posted in R-ohjelmointi, Yleistä | No Comments

Suuri veropäivä – osa 2: Power BI -raportti vuoden 2014 julkisista verotiedoista

Julkaistaanpa Suuren veropäivän kunniaksi tässä vielä julkisista verotilastoista laadittu interaktiivinen Power BI -raportti. Raportin tuottoon tarvittava aineisto on haettu PXWeb-rajapinnasta seuraavalla R-koodilla: ################## # Perusasetukset ##################   # Ladataan paketit library(pxweb) library(reshape2)   # Päivitetään API:t update_pxweb_apis() api_catalogue()   # Luetaan dataa # Tällä saa tarvittavat koodit toistamista varten d <- interactive_pxweb("vero")     #################### […]

Posted in Grafiikka, R-ohjelmointi, Yleistä | No Comments

Suuri veropäivä

Tänään on Suuri veropäivä: Verohallinto on julkaissut henkilöverotuksen avoimia tietoja verovuodelta 2015 tiedotusvälineiden käyttöön. Tilastokeskus julkaisi vuoden 2015 palkkatilaston noin kuukautta aiemmin. Katsahdetaanpa näin veropäivän kunniaksi tilastojen eroihin. Tilastokeskuksen palkkatilastoon on sisällytetty vain kokoaikaiset palkansaajat (yli 90 % alan normaalista). Palkkatilastossa mainittuihin ansioihin ei sisälly lomarahoja. Verohallinnon verotilastoon on sisällytetty kaikki verovelvolliset. Palkkatilaston perusteella ei […]

Posted in Grafiikka, R-ohjelmointi | No Comments