R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Suomen kuntakartta Tableau:hun (!?#%) – R avuksi!

Tableau on erityisesti datan esittämiseen ja visualisointiin kehitetty ohjelmisto. Suuri osa tavanomaisista aineistoista vilahtaa Tableau:hun kuin vettä vain, mutta yritäpäs änkeä sinne uusi karttapohja, niin ongelmissa ollaan. Tableau (9.0.4) ei nimittäin lue ESRI Shapefilejä, KML:ää eikä liioin GeoXML:ää. Kartta pitää syöttää ohjelmaan polygoneina. Seuraavassa on ratkaisuesimerkki käyttäen Suomen kuntakarttaa vuodelta 2013. Mistä löytäisi kuntakartan? Pohjoismaiden [...]

Posted in Aiheeton | No Comments

Feature engineering

Feature engineering on menetelmä, jossa tiedonlouhintaa varten luodaan olemassa olevista muuttujista uusia muuttujia. Useimmiten termillä kaiketi viitataan tilanteeseen, jossa alakohtaista tietämystä käytetään hyväksi näitä piirteitä luotaessa, mutta usein termillä tarkoitetaan myös automatisoitua uusien muuttujien luomista. Menetelmiä on useita, ja tunnetuimpia lienee ns. kernel trick, mutta uusia muuttujia luodaan usein myös tavanomaisilla summa-, erotus-, osamäärä- ja [...]

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

Kovalevyn tilankäytön analysointi

Tulipa vastaan tilanne, jossa piti selvitellä, mitkä kymmenistä kansioista ja niiden alakansioista vievät eniten tilaa tietokoneen kovalevyllä. Käytössä oleva Windows 7 -ympäristö oli kuitenkin rajattu, eikä uusia apuohjelmia voinut siis asentaa. Microsoftin sivuilta löytyy kyllä PowerShell -versio levyanalysaattorista, mutta päätin kuitenkin toteuttaa vastaavan toiminnallisuuden R:llä. Mainittakoon, että toimiva, mutta hidas siitä tuli kilpailijoihin verrattuna. Funktio [...]

Posted in Grafiikka, Note to self, Skriptit | No Comments

Ilmaiset R-kurssit verkossa

Perinteisiä maksullisia lähi- ja etäopetuskursseja, joilla pääpaino on R-kielessä, on nykyisin varsin hyvin saatavilla. Maksullisia, englanninkielisiä kursseja tarjoavat esimerkiksi Udemy ja statistics.com. Valikoiman laajeneminen näkyy kuitenkin erityisesti ilmaisissa tai ainakin verrattain halvoissa kurseissa. Näitä tarjoavat ainakin seuraavat toimijat: Coursera Datacamp Codeschool Udacity Udemy Edx Myös jigsawacademyn tekstinlouhintakurssi näyttää mielenkiintoiselta, joskin se on maksullinen. Kun nyt [...]

Posted in R-ohjelmointi, Yleistä | No Comments

Deep learning: hallusinaatioita Googlelta

Tämän lauantain Helsingin Sanomissa oli artikkeli Googlen neuraaliverkoilla generoimista kuvista. Verkko oli ensin opetettu kuvamateriaalilla, ja sitten sillä oli generoitu uusia kuvia. Tämä on yksi käytännön esimerkki ns. deep learning -menetelmistä. Menetelmä on kuvattu artikkelissa, joka löytyy arXiv:sta. Saman kaltaisella ratkaisulla voi generoida myös tekstiä. Mikael Huss:in Follow the Data -blogissa on esimerkki Kalevalasta (ks. [...]

Posted in Muu ohjelmointi, Yleistä | No Comments

Epidemiologinen riski ja sen visualisointi – esimerkkinä statiinit

Mikä on riski? Riskille on useita erilaisia määritelmiä: 1. Riskienhallintamallit määrittelevät riskin usein epätoivottavan tapahtuman todennäköisyyden (vaara, hazard) ja sen aiheuttaman vaikutuksen (tappion määrä) tuloksi (risk = hazard * dose of exposure). Esimerkiksi autokolarin riski on sen todennäköisyyden (1/100) ja vaikutuksen (20 000€) tulo eli annetuilla luvuilla 200 €. Riskienhallinnan tavoitteena on pienentää riskejä. Useimmat [...]

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

Kuolleisuustrendit Suomessa 1998-2013

Sydänkuolleisuuden trendeihin liittyvä keskustelu on kerännyt runsaasti kommentteja Turun Sanomien blogissa. Keskustelu on useasti sivunnut tämänkin blogin aihepiiriin kuuluvia menetelmällisiä seikkoja, kuten ikävakiointia. Vaikuttaa siltä, että aineistolle, jossa on esitetty sekä havaitut että vakioidut tai odotetut kuolemat tai kuolleisuusluvut, voisi olla käyttöä laajemminkin. Koska kaikki tarvittava data on avoimena datana saatavilla Tilastokeskuksesta, voidaan kaikki siitä [...]

Posted in Grafiikka, R-ohjelmointi | No Comments

Tekstinlouhintaa R:llä, osa 2

Kirjoitin jo aiemmin R:n tarjoamista mahdollisuuksista harrastaa tekstinlouhintaa. Tuossa aiemmassa artikkelissa esiteltyjä funktioita on nyt kehitetty hieman eteenpäin, ja toiminnallisuutta on myös paranneltu. Seuraava esimerkki kuvaa mitä funktioilla voi nykyisin tehdä. Uusina lisäyksinä ovat mm. tekstin irrottaminen suoraan PDF-tiedostoista, kielen tunnistaminen ja tekstien filtteröinti kielen perusteella sekä erilaiset semanttiset mallit ja topic modeling. Funktioiden koodin [...]

Posted in R-ohjelmointi, Yleistä | No Comments

Paketin funktioiden selvittäminen

R-pakettien sisältämien funktioiden selvittäminen on helppoa, jos käyttää HTML-help:iä, mutta entä ilman sitä? Helpointa on kirjoittaa R:n komentoriville clv::: ja painaa tabulaattoria. Kun paketin on ladannut, sen sisältämät funktiot voi myös listata komennolla: # Paketin clv funktiot lsf.str("package:clv") Tämäkään ei listaa kaikkia paketin funktioita, jos niitä ei ole eksportattu NAMESPACE:sta. Sen sijaan funktiot voidaan selvittää [...]

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

Molekyylisystematiikkaa R:llä

Molekyylisystematiikka on tieteen ala, jossa tutkitaan lajien sukulaisuussuhteita geneettisten tuntomerkkien, kuten DNA-sekvenssien avulla. Alaa on perinteisesti leimannut työkalujen sekalaisuus, millä tarkoitan sitä, että tulosten saaminen on edellyttänyt kohtuullisen määrän eri ohjelmistojen opettelua ja niiden ominaisuuksien yhdistelyä. Ohjelmistoja, jotka ovat jokseenkin yleisessä käytössä on kymmeniä, joten aiemmin toimin ihan tavanomaisesti esimerkiksi seuraavasti: 1) hain sekvenssit Genbank-tietokannasta [...]

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