R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Klassisia salausmenetelmiä

Salakirjoitusmenetelmät ovat aina kiinnostaneet minua. Muistan, että järjestimme jo kymmenvuotiaina muutaman kaverin kanssa kilpailun, jossa piti purkaa salakielinen sanoma. Viestin salaus onnistui silloin niin hyvin, ettei sen purkaminen onnistunut käsipelillä. Muistan kyllä tajunneeni, että muut(kin) käyttivät todennäköisesti menetelmää, jossa alkuperäiset aakkoset on korvattu toisilla merkeillä. Koska salakirjoitettu viesti oli kovin lyhyt, ei sen purkaminen käyttäen […]

Posted in R-ohjelmointi | No Comments

Kiertoja ja peilauksia R:llä

Talon muotoisilla pelinappuloilla leikkiminen tuotti lopputuloksena tähden muotoisen kuvion. Heräsi kysymys, miten paljon tähteä on mahdollista laajentaa. Pelinappulat ja rakentelijan kärsivällisyys loppuivat pian kesken, mutta onneksi R taipui siihen, mihin sorminäppäryys ei riittänyt. Samalla kuvion symmetrisyys tarjosi hyvän tilaisuuden harjoitella kiertoja ja peilauksia. Yllä oleva pelinappuloista rakennettu tähti ei itse asiassa laskennallisesti ole edes mahdollinen, […]

Posted in Grafiikka, R-ohjelmointi | No Comments

Interaktiivinen kuntakartta

R:n karttaominaisuudet parantuvat vuosi vuodelta. Samaten kartta-aineiston saatavuus on viime vuosina oleellisesti parantunut Maanmittauslaitoksen ja Tilastokeskuksen alettua tarjota pohjakarttoja ilmaiseksi. Muun muassa Louhos-blogissa on jo aiemmin katsahdettu suomalaisten kuntien tietojen visualisointiin R:ssä, mutta kirjoittelin tuota muistamatta R:n karttaominaisuuksista myös lyhyen luentomateriaalin. Täydennän luentomateriaalin vielä seuraavalla esityksellä kloropleettikarttojen muodostamisesta Tilastokeskuksen Kuntien avainluvut -tilastosta. Tilastokeskus on toki […]

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

Sensitiivisyys ja spesifisyys ja niiden luottamusvälit

Esimerkiksi laboratoriotestien yhteydessä testin toimivuutta voidaan arvioida monilla erilaisilla suureilla, joista kenties tunnetuimmat ovat sensitiivisyys (herkkyys) ja spesifisyys (tarkkuus). Suureita on paljon muitakin, ja osaa niistä käsiteltiin jo logistisen regression yhteydessä. Jos verrataan uuden laboratoriotestin antamaa tulosta joko standarditestin tulokseen tai testattujen potilaiden tautistatukseen (sairas / terve), saadaan tuloksista taulukoitua seuraavanlainen nelikenttä, jossa luvut ovat […]

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

Logistinen regressio

Sisällys Mikä on logistinen regressio? Hieman teoriaa Vedonlyöntisuhde Vetosuhde Vetosuhteen tilastollinen testaaminen Logistinen malli Logistinen regressio R:ssä Aineisto Mallin sovittaminen Mallin sopivuuden mittarit Mallin tulosten tulkinta Mallin tulosten esittäminen Mallin ennusteiden muuntaminen todennäköisyyksiksi Ennustemallin toimivuuden arviointi Mallin valinta Mallien sovittaminen Mallien vertailu Automaattiset menetelmät Erikoistapauksia Ehdollinen logistinen regressio Firthin harhattomampi menetelmä Harrellin lrm-funktio Tulosten visuaalinen […]

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

Laajennuspaketti drc: EC50-arvon määrittäminen

Effective concentration 50% (EC50)-arvolla mitataan esimerkiksi lääkeaineiden vaikutusta. EC50-arvo on lääkeaineen konsentraatio, jolla saadaan aikaan puolet vaikutuksen maksimiarvosta. EC50-arvon lähisukulainen on effective dose (ED50), joka taas vastaa konsentraatiota, jolla saadaan vaste 50 %:ssa altistetuista kohteista, esimerkiksi potilaista. Yleensä ED50-arvoa käytetään hyödyllisistä, tavoitelluista terapeuttisista vaikutuksista. Jos tutkitaan aineiden myrkyllisyyksiä, käytetään arvoa LD50, joka vastaa konsentraatiota, jossa […]

Posted in Grafiikka, R-ohjelmointi | No Comments

Logistisen regression ongelmatilanteita ja niiden ratkaisuja

Logistinen regressio on esimerkiksi epidemiologian tilastollinen perustyökalu. Katsahdetaanpa seuraavassa kahteen usein vastaan tulevaan ongelmaan ja niiden mahdollisiin ratkaisuihin. Ongelma 1: separaatio Tavanomainen logistinen regressio ajautuu ongelmiin erityisesti tilanteessa, jossa aineistossa on jonkin selittävän muuttujan suhteen selkeä separaatio. Separaatio tarkoittaa tilannetta, jossa jollakin (kategorisen) selittävän muuttujan arvolla tai selittäjien yhdistelmällä esiintyy vain toista vastemuuttujan arvoa. Separaation […]

Posted in R-ohjelmointi, Yleistä | No Comments

Shiny-appletti tiedostojen yhdistelemiseen

Toistuvasti nousee esille tarve yhdistellä tiedostoja jonkin yhdistävän kentän perusteella. Operaatiosta käytetään eri kielissä tai tuotteissa eri nimityksiä: Esimerkiksi R:ssä on merge, SQL:ssä puolestaan JOIN ja Excelissä VLOOKUP (PHAKU). Excelin VLOOKUP vastaa oikeastaan R:n match()-funktion tarjoamia mahdollisuuksia, mutta juuri tällaisia tarpeita varten kehitin pienen Shiny-applikaation. Shiny on R:n päälle rakennettu laajennuspaketti, jolla on mahdollista toteuttaa […]

Posted in R-ohjelmointi | No Comments

Pieni päivitys tekstinlouhintafunktioihin – OCR

Olen aiemmin kirjoitellut useasti tekstinlouhinnasta, ja näissä kirjoituksissa esitellyt funktiot löytyvät GitHub repositorysta. Funktiokokonaisuuteen on nyt lisätty Optical Character Recognition (OCR) toiminnallisuus, jota on periaatteellisesti aiemmin esitylty toisessa postauksessa. OCR voidaan tehdä R:llä yksinkertaisesti seuraavasti. Ladataan ensin tarvittavat funktiot, ja tarvittaessa asennetaan puuttuvat paketit: source("https://raw.githubusercontent.com/jtuimala/TextMining/master/tm-functions.R") load(url("https://github.com/jtuimala/TextMining/raw/master/fintm-data.RData"))   installAndInitialize() initiateTesseract()source("https://raw.githubusercontent.com/jtuimala/TextMining/master/tm-functions.R") load(url("https://github.com/jtuimala/TextMining/raw/master/fintm-data.RData")) installAndInitialize() initiateTesseract() Tämän jälkeen ympäristö […]

Posted in Aiheeton | No Comments

KHO:n vuosikirjapäätökset

Korkein hallinto-oikeus (KHO) valvoo alempien viranomaisten lainkäytön oikeellisuutta, ja se käyttää ylintä tuomiovaltaa hallintolakiin liittyvissä asioissa. KHO julkaisee julkisia päätöksiään muun muassa vuosikirjapäätöksinä. Vuosikirjapäätökset ovat nykyisin kyseltävissä REST API:n kautta. Aineisto on julkaistu CC BY 4.0 -lisenssillä, ja tarkempiin käyttöehtoihin voi tutustua Oikeusministeriön, Aalto-yliopiston ja Edita Publishing Oy:n kehittämä Semanttinen Finlex datapalvelun käyttöehdot-sivulla. Katsotaanpa millaisia […]

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

Category