R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Skriptit

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 »

Kuvatiedoston tyypin tunnistaminen

Tämä(kin) postaus sai alkunsa pieleen menneestä visualisoinnista. Yritin alunperin tuottaa R:llä GIF-animaatioon tarvittavia kuvia, mutta onnistuin luomaan samaan kansioon joukon sekalaisia, eri tiedostomuodoissa olevia kuvatiedostoja, joissa ei tietenkään ollut edes tiedostopäätteitä. Piti siis selvittää, mitä kuvia oikein tulikaan generoitua… ImageMagick tunnistaa laajan valikoiman erilaisia kuvatyyppejä vaivatta. Koska se löytyi koneelta, kutsuin sitä suoraan R:stä kullekin […]

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

Pitkävetokohteet R:ään

Pitkäveto on Veikkauksen peli, jossa pitää veikata, voittaako kotijoukkue, vierasjoukkue vai tuleeko tasapeli. Kullekin vaihtoehdolle on eri voittokertoimet, ja samalla voi veikata useampien otteluiden tulosyhdistelmää. Veikkaus jakelee kohteiden tiedot mm. XML-muodossa, josta ne on helppo lukea esimerkiksi R:ään. Kun kertoimet ovat R:ssä, voidaan niiden perusteella helposti laskea esimerkiksi voittotodennäköisyyksiä ja voiton odotusarvoja tietyllä panoksella. Jos […]

Posted in Skriptit | 2 Comments »

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 »

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 »

Salasanageneraattori

Väkersin R:ään pienen salasanageneraattorin. Tavoitteena on muodostaa helposti muistettavia salasanoja. Salasanan voi kirjoittaa vaikka lapulle muistiin, jos jättää siitä esimerkiksi palvelun tunnisteen ja vakiomerkkijonon kirjoittamatta. Nämä on yleensä melko helppo muistaa muutenkin. Näitä generaattoreitahan on toki muutenkin verkko pullollaan, mutta tässä on erikoispiirteenä se, että taustalla olevaa sanalistaa voi tarvittaessa vaihtaa. Alla olevassa esimerkissä käytetään […]

Posted in R-ohjelmointi, Skriptit | No Comments »

Tyhjien korvaaminen edellisellä arvolla

R on täynnä toinen toistaan hyödyllisempia valmiita funktioita. Usein on tilanne, että data ei ole rakenteeltaan eheää ja sitä joutuu käsittelemään paljonkin ennen varsinaista analyysiä. Törmäsin tänään tilanteeseen, jossa datassa oli mukana väliotsikot yhdessä sarakkeessa ja väliotsikoiden alla tyhjää (NA). Tavoitteenani oli täyttää nämä tyhjät rivit väliotsikoilla, ja tämän jälkeen suodattaa datasta pois tietyt rivit […]

Posted in Aiheeton, R-ohjelmointi, Skriptit | No Comments »

Datan lukeminen R:ään: Scan

Blogin päivittämisessä on ollut kohtalaisen pitkä tauko muiden kiireiden johdosta. Ajattelin, että seuraava koodinpätkä voisi olla jakamisen arvoinen, se osoittaa mielestäni hyvin R:n ilmaisuvoiman. Esimerkin lähtökohtana on data, jossa koko data on tekstitiedostossa yhdellä rivillä. Datan rakenne on seuraava: Henkilö1 Hetu Henkilö2 Hetu… Seuraava koodi muuttaa datan data.frame-muotoon: x <- scan(file = textConnection("Henkilo1 XXXXXX-XXXX Henkilo2 […]

Posted in R-ohjelmointi, Skriptit | No Comments »

%nin%

Monesti R-koodissa esiintyy operaattori %in%, joka palauttaa boolean vektorin kahden vektorin vastaavuuksista. Usein tarvitsee palauttaa käänteinen tilanne, josta tässä esimerkki: a <- 1:5 b <- 3:5 which(a %in% b) "%nin%" <- function(x, y) !(x %in% y) which(a %nin% b)a <- 1:5 b <- 3:5 which(a %in% b) "%nin%" <- function(x, y) !(x %in% y) which(a […]

Posted in R-ohjelmointi, Skriptit | 2 Comments »

Summary-funktio

R:ssa on useita tapoja summata dataa ryhmän mukaan. Tällaisia funktioita on mm. aggregate, tapply, summaryBy (doBy-kirjasto), reshape (reshape- ja reshape2-kirjastot), plyr-kiraston monet funktiot ja niin edelleen. Käyttäjät voivat kehittää myös omia summary-funktiota perustuen olemassaoleviin funkitoihin. Tässä yksi esimerkki tällaisestä funktiosta: set.seed(90) ; v <- rnorm(200, 200, 20) ; g <- factor(rep(LETTERS[1:5],c(50,40,30,60,20)), levels=LETTERS[1:10])   group.sum <- […]

Posted in R-ohjelmointi, Skriptit | No Comments »

Category