R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

RStudio, shiny ja VeRotosite-palvelu

RStudio on R:lle räätälöity kehitysympäristö. Shiny puolestaan on R:n laajennuspaketti, jolla voi helposti tuottaa verkkosovelluksia. Shinyn tuottamien sovellusten siirtäminen tuotantoon edellyttäisi Linux-palvelinta, jolla pyörii Shiny server, mutta RStudio-yritys tarjoaa myös hosting-palvelua, jolloin omaa palvelinta ei tarvita. Pienten sovellusten hosting on tällä hetkellä ilmaista. Verokuitti-palvelu tuottaa Valtion talousarvion pahjalta laskelman, mihin maksamasi veovarat on käytetty. Palvelusta [...]

Posted in R-ohjelmointi | No Comments

SIR-malli markkinoinnissa

Johdanto Epidemiologinen SIR-malli pyrkii mallintamaan infektion leviämistä populaatiossa. Mallissa populaatio on jaettu kolmeen luokkaan, alttiisiin (susceptible eli S), infektoituneisiin (infected eli I) ja tervehtyneisiin (recovered eli R). Yksilöt voivat siirtyä näiden luokkien välillä tietyillä nopeuksilla (S -> I = beta eli infection rate ja I -> R = recovery rate), mutta recovered-luokan oletetaan olevan siinä [...]

Posted in R-ohjelmointi | No Comments

Microsoft Excel tutkimusaineiston hallintavälineenä

Microsoft Excel tai jokin muu vastaavanlainen taulukkolaskentaohjelma lienee eräs yleisimmistä aineistojen tallentamiseen ja manipulointiin käytetyistä tietokoneohjelmistoista. Sitä voi mainiosti käyttää vaikkapa tutkimusaineiston hallintavälineenä, mutta käytännössä voi olla hyötyä, jos toisettavan tutkimuksen (“reproducible research”) ideoita sovelletaan datan hallinnassa. Toistettavan tutkimuksen ajatuksena on, että aineiston analyysin aikana tehdyt muokkaukset ja sovelletut menetelmät tulevat dokumentoitua sellaisella tarkkuudella, että [...]

Posted in Yleistä | No Comments

Yksinkertaista tekstinlouhintaa

Olen tainnut useammankin kerran kirjoittaa R:n tarjoamista mahdollisuuksista harrastaa ruudunkaavintaa (screen scraping). R:ssä on myös varsin hyvät ominaisuudet esimerkiksi tekstinlouhintaa ajatellen, esimerkiksi paketit tm ja qdap. Ruudunkaavinnalla hankitun tekstuaalisen aineiston analyysissä tekstinlouhintatyökalut ovat varsin keskeisiä. Harmillisesti toiminnallisuus keskittyy etupäässä englanninkielisen tekstin käsittelyyn, ja suomenkielistä tekstiä varten soveltuvia analyysiä tukevia aineistoja, esimerkiksi sanalistoja, ei ole kovin [...]

Posted in Grafiikka, R-ohjelmointi, Skriptit | No Comments

Matka.fi – API vai ruudunkaavinta?

Matka.fi on Liikenneviraston tarjoama, yhteistyönä ylläpidetty palvelu, joka sisältää koko maan kattavia aikataulutietoja. Sinällään se on verrattavissa ehkä tunnetumpaan reittiopas.fi -palveluun, ja esimerkiksi API:n käyttäjäksi rekisteröityminen toimii samalla tavoin. Valitettavasti API ei vain toimi. Rekisteröityminen kyllä tuntuisi onnistuvan, mutta siihen homma sitten tyssääkin. Vaikka kuinka yrittäisi autentikoitua ohjeiden mukaisesti ja käyttää API:a tietojen hakemiseen, ei [...]

Posted in R-ohjelmointi | No Comments

Kannattaako sateessa juosta?

Vettä on taas tullut viime päivinä melko riittoisasti. Ravintolasta lähtiessämme pohdimme, kannattaako sateessa ennemmin kävellä vai juosta. Muistelin, että viimeisimmät populäärijutut kertoivat juoksemisen kannattavan. Mutta miten lujaa sitten pitäisi juosta? Tutkitaanpa asiaa lyhyesti. DeCarian kirjoittama juttu auttaa alkuun. Jutussa on oletettu, että ihminen on ruumiinrakenteeltaan suunnilleen Paavo Pesusienen muotoinen. Toisissa malleissa, jotka löysin, on ihmisten [...]

Posted in R-ohjelmointi, Yleistä | No Comments

CSV-sormenjälki, R-versio

Luin tänään uudesta, ihan näppärän oloisesta palvelusta, CSV Fingerprints. SIinä on ajatuksena tarkistaa tekstitiedoston (datamatriisi) sisältö siltä varalta, että siinä on esimerkiksi puuttuvia arvoja, tyhjiä soluja tai samoissa sarakkeissa sekaisin eri tietomuotoja. Ensimmäisenä tuli myös mieleeni, että sitä voisi käyttää taulukon muutosten jäljittämiseen esimerkiksi datan puhdistamisen aikana. Muistan nähneeni vastaavankaltaisen sovelluksen, mahdollisesti raster-paketilla toteutettuna, mutta [...]

Posted in Grafiikka, R-ohjelmointi | No Comments

Ordinaalinen ja multinomiaalinen regressio

Jos vastemuuttuja on kaksiluokkainen (esim. naaras/koiras), käytetään aineiston analysointiin tyypillisesti logistista regressiota. Ordinaalinen logistinen regressio on logistisen regression laajennus siinä mielessä että se on menetelmä, jota voidaan käyttää, kun vastemuuttuja on moniluokkainen ja lisäksi järjestysasteikollinen (esim. vähän/kohtalaisesti/paljon). Keskeinen oletus on “proportional odds” tai “rinnakkaisten regressioiden oletus” eli oletetaan että vastemuuttujan tasojen muutos vaikuttaa samalla tavalla [...]

Posted in R-ohjelmointi | No Comments

Geneettinen epidemiologia – OR vastaan ennustearvo

Geneettinen epidemiologia kattaa suuren joukon erilaisia tutkimusasetelmia, joiden tarkoituksena on löytää tiettyyn tautitilaan liittyviä geneettisiä piirteitä. Eräs tyypillinen asetelma on tapaus-verrokkitutkimus, jossa tutkitaan yhden emäksen muutoksia genomissa. Varsin tyypillisesti tieteellisissä julkaisuissa esitetään tällaisissa tapauksissa geneettisen ominaisuuden odds ratio (vetokerroin), muttei välttämättä sitä, miten paljon lisäarvoa ominaisuus tuo jo tunnettujen taudin riskitekijöiden lisäksi. Lisäarvo olisi kuitenkin [...]

Posted in R-ohjelmointi | No Comments

Suurten tekstitiedostojen käsittely sqldf-paketilla

Suurten (taulukkomuotoisten) tekstitiedostojen käsittely R:ssä käy näppärimmin, jos tiedoston saa kokonaisuudessaan ladattua muistiin. Aina tämä ei kuitenkaan ole mahdollista, mutta jos levytilaa on kuitenkin tarpeeksi, voi tiedostosta tehdä esimerkiksi SQLite-tietokannan, ja tehdä hakuja siitä. SQLite on siitä näppärä tietokantamoottori, ettei se vaadi erillistä asennusta, vaan sen saa helposti asentamalla RSQLIte-paketin. Paketilla sqldf voi puolestaan tehdä [...]

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