R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

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

Tekstitiedostojen lukeminen R:ään nopeasti: read.table, read_table ja fread

Johdanto Lienee jokseenkin tunnettu tosiseikka, että R:n tavanomainen funktio read.table() on melko hidas. Tiedostoja on mahdollista lukea paljon nopeamminkin eräiden laajennuspakettien funktioilla. Tällainen on esimerkiksi paketin data.table funktio fread(). Nyt markkinoille on tullut Hadley Wickhamin uusi paketti readr, jonka funktio read_table() on tarkoitettu nopeuttamaan datan lukemista R:ään. Testejä R:ssä Kokeillaanpa. Testinä on aineisto, jossa on [...]

Posted in R-ohjelmointi | No Comments

R and Python (and maybe Julia)

Introduction Both R and Python are commonly used by data scientists. They both support several different programming paradigms, such as procedural, functional and object oriented programming. Julia is relative newcomer that supports at least the functional programming paradigm. Judged from a few comparisions, the execution speed of Julia is by far the fastest of these [...]

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