R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Värisokeuden vaikutuksen simulointi

Värisokeus tarkoittaa tilaa, jossa ihmisen väriaisti on häiriintynyt. Yleensä tila johtuu silmän verkkokalvon joidenkin tappisolutyyppien viallisuudesta tai puuttumisesta. On arvioitu, että jopa 10 % miehistä saattaa kärsiä värisokeudesta. Värisokeus on tärkeää huomioida, kun tuotetaan esimerkiksi esitysgrafiikkaa. Jos tätä ei huomioida, voivat jotkin kuvien värit mennä keskenään sekaisin, koska ne eivät erotu toisistaan tarpeeksi. Verkossa on […]

Posted in R-ohjelmointi | No Comments

Missä aktiiviset tulivuoret sijaitsevat?

Eilisessä postauksessa sijoitin kartalle maanjäristyksiä. Tänään ovat vuorossa tulivuoret. Tsunami Laboratory jakelee listaa aktiivisista tulivuorista. Listan avulla maanpäälliset ja merenalaiset tulivuoret on helppo sijoittaa paikoilleen. Eilisen postauksen tapaan listaus voidaan hakea suoraan R:ään. Pienten aineiston muunnosten jälkeen voidaan piirtää maailman kartalle maanpäälliset tulivuoret punaisella ja merenalaiset sinisellä: library(XML) library(mapdata)   v<-readHTMLTable("http://tsun.sscc.ru/nh/volcano.php?iname=&country=&min_absh=-6200&max_absh=6885&min_relh=0&max_relh=8000&min_lat=-90&max_lat=90&min_lng=-180&max_lng=180&d%5B%5D=A&per_page=-1&search=Search+Database") v<-v[[4]]   v$lat<-as.numeric(as.character(v$Lat)) v$lon<-as.numeric(as.character(v$Long)) […]

Posted in Grafiikka, R-ohjelmointi | 1 Comment

Missä maa järisee?

Maanjäristyksiä esiintyy tunnetusti erityisesti mannerlaattojen yhtymäkohdissa ympäri maailmaa. Mutta miten ne sijoittuvat kartalle? Tarkastelin kouluajoilta perinnöksi jäänyttä kartastoani, eikä se varsinaisesti antanut asiasta riittävän hyvää kuvaa. Niinpä lähdin jälleen metsästämään dataa verkosta. Northern California Earthquake Data Center tarjoaa aineistoja maanjäristysten sijainneista, tapahtumahetkistä ja järistysten magnitudeista ilmaiseksi. Palvelusta ladatun aineiston perusteella on mahdollista sijoittaa maanjäristykset kartalle. […]

Posted in Grafiikka, R-ohjelmointi | No Comments

Boggle-peli ja -ratkaisija

Boggle-peli Boggle on kaupallinen lautapeli, jossa ravistellaan kirjain-noppia rasiassa, ja noppien asetuttua etsitään ruudukosta niiden muodostamia sanoja. Pelaajien löytämistä sanoista saa pisteitä niiden pituuden mukaan, ja eniten pisteitä kerännyt pelaaja voittaa pelin. Noppien kirjainjakauma on kullekin kielelle ominainen, ja suomenkielisen version jakauma löytyy Wikipediasta. Boggler-paketti Boggle-peli soveltuu luonteensa vuoksi hyvin R-kielelle käännettäväksi. Dominic Comtois on […]

Posted in R-ohjelmointi | No Comments

Todennäköisyysfunktiot

R tarjoaa monien todennäköisyysjakaumien kanssa työskentelyyn erilaisia todennäköisyysfunktioita. Funktiot on pääsääntöisesti nimetty seuraavasti: dX – tiheysfunktio (probability distribution function, pdf) pX – kertymäfunktio (cumulative distribution function, cdf) qX – kvantiilifunktio rX – satunnaisgeneraattori jossa X on jakauman nimi, esimerkiksi norm (normaalijakauma), t (t-jakauma), f (f-jakauma) tai binom (binomijakauma). Aloitetaanpa funktiotyyppien läpikäynti käänteisessä järjestyksessä käyttäen t-jakaumaa […]

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

Aihioonpakkaus- ja aikataulutusongelmien ratkaiseminen R:llä

Aihioonpakkaus-ja aikataulutusongelmat ovat hyvin tavanomaisia reaalimaailman ongelmia. Aihioonpakkausongelmissa pyritään ratkaisemaan esimerkiksi ongelma, jossa käsillä on lankkuja, ja niistä halutaan tehdä tietyn mittaisia pätkiä siten, että pätkät eivät erilaisine yhdistelmineen ylitä tietyn tuotepakkauksen kokorajoja. Aikataulutusongelmat ovat vastaavat tyyppisiä, mutta niissä tietyn mittaiset työt pyritään jakamaan vaikkapa tietylle henkilömäärälle optimaalisella tavalla. Tällaiset ongelmat eli knapsack problems ovat […]

Posted in R-ohjelmointi | No Comments

Veikkausliiga 2015 – joukkueiden tuloksia ja katsojamäärien ennustamista

Veikkausliiga on Suomen korkein sarjataso miesten jalkapallossa. Veikkausliigalla on oma kotisivu, jolta löytyy muun muassa eri vuosien tilastoja. Liigan voittaja on jalkapallon Suomen-mestari. Veikkausliigassa pelaa tällä hetkelllä 12 joukkuetta, joista jokainen saa 16 tai 17 kotiottelua. Kullekin joukkueelle kertyy siis kauden aikana yhteensä 33 ottelua. Sarjan joukkueet kohtaavat toisensa kauden aikana kolmesti. Kunkin ottelun voitosta […]

Posted in Grafiikka, R-ohjelmointi | 2 Comments

Julia in a simple test

I wrote earlier a short note describing the same statistical analysis done in R and Python, but I left out Julia. Since Julia has constantly appeared on blogs I follow, I finally thought that it’s time to rectify the situation. Even more so, since I would fancy a huge speed boost on the execution time […]

Posted in Muu ohjelmointi | No Comments

Ovatko sanat anagrammeja – kokemuksia funktion kehittämisestä ryhmätyönä

Kokeilimme kolmeen pekkaan, mitä hyötyä voisi olla esimerkiksi R-funktioiden kehittämisestä ryhmätyönä. Valitsimme testiin yksinkertaisen esimerkin: toteutettavan funktion piti testata, ovatko sille syötteenä annetut merkkijonot keskenään anagrammeja. Anagrammeja ovat kaikki ne merkkijonot, jotka ovat permutaatioita samasta merkkijonosta, ja lisäksi muodostavat jonkin ymmärrettävän sanan. Siten esimerkiksi merkkijonot, jotka ovat eri mittaisia tai koostuvat eri kirjaimista eivät voi […]

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

Todennäköisyys, että raportoitu löydös on oikea

Viime aikoina olen kuullut keskustelua siitä, että joka ikisen analyysin yhteydessä pitäisi ilmoittaa todennäköisyys, että löydös on väärä. Ilmeisesti keskustelu ei ole koskenut p-arvoa, vaan nimenomaan väärän johtopäätöksen todennäköisyyttä, mikä tekeekin asiasta hieman kinkkisemmän. P-arvohan on frekventistisen tilastotieteen käsite, joka ilmoittaa toistetun otannan tilanteessa sen frekvenssin, jolla havaittua testisuureen arvoa äärevämpiä arvoja esiintyy, jos nollahypoteesi […]

Posted in Aiheeton | No Comments