R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Suomen kielen aakkosten esiintymistaajuuksien selvittäminen

Kahdessa edellisessä (1, 2) postauksessa olen käsitellyt lyhyesti klassisia salakirjoitusmenetelmiä. Eräs salakirjoitusten avaamiseen yleisesti käytetty menetelmä on frekvenssianalyysi, jota voidaan tehokkaimmin hyödyntää, jos tunnetaan salatun tekstin alkuperäiskielen aakkosten suhteelliset osuudet. Miten esiintymistaajuudet sitten voidaan selvittää? Seuraavassa on esitellään kolme erilaista mahdollisuutta. 1. Suomen kielen sanaston käyttö Kirjainten taajuudet voidaan selvittää vaikkapa Kotuksen sanastoa käyttäen. Ladataan […]

Posted in R-ohjelmointi | No Comments

Lisää klassisia salausmenetelmiä

Edellisessä postauksessa esiteltiin muutamia klassisia salakirjoitusmenetelmiä. Jos Singhin kirja ei ole saatavilla, myös Crypto Corner perehdyttää klassisiin salakirjoitusmenetelmiin. Tutustumme tässä artikkelissa hieman monimutkaisempiin klassisiin salakirjoitusmenetelmiin. Vigenère Caesar-salakirjoitus oli aikoinaan tehokas, mutta myöhemmin auttamattomasti liian heikko. Samaa ideaa voidaan kuitenkin laajentaa siten, että salakirjoituksessa käytetään apuna koodiavainta, joka kertoo, millä monista erilaisista Caesar-tyyppisistä salakirjoituksista kyseinen merkki […]

Posted in R-ohjelmointi | No Comments

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

Category