R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

heinäkuu, 2010

Ilmainen kirja todennäköisyydestä ja tilastotieteestä

G. Jay Kerns on julkaissut teoksen nimeltään ”Introduction to Probability and Statistics Using R”. Kirja on ladattavissa pdf-versiona ilmaiseksi. Helpoiten se onnistuu, jos sinulla on R jo asennettuna: install.packages("IPSUR") library(IPSUR) read(IPSUR) Ei muuta kun opiskelemaan. Lähteet: Revolutions ja IPSUR.

Posted in R-ohjelmointi, Yleistä | No Comments »

SAS:n ja R:n yhteispeli: esimerkki

Tilastotieteen ammattilaiset ovat usein jakautuneet eri leireihin riippuen siitä, että mitä sovellusta he aineistojen analysointiin käyttävät. Yhdet vannovat kovasti SAS:n, toiset R:n ja kolmannet esim. SPSS:n nimeen. Muihin analysointisovelluksiin uskovaisia toki löytyy. Omasta mielestäni tilanne on silloin hyvä, kun voi valita mitä sovellusta käyttää. Saman ongelma voi ratkaista monellakin tavalla, ja mielestäni kannattaa hakea sovellus/ohjelmointikieli […]

Posted in R-ohjelmointi, Skriptit | No Comments »

Uusi QA-palsta: Statistical Analysis

Uusi tilastotieteeseen liittyville kysymyksille perustettu kysy-vastaa-palsta on julkaistu. Se kantaa nimeä Statistical Analysis, ja löytyy osoitteesta stats.StackExchange.com. Tällä hetkellä sivusto on vielä nk. ”public beta”-vaiheessa, mutta kysymyksiä ja vastauksia on jo runsaasti. Myös R:n liittyviä asioita voi palstalla kysyä, tosin moderaattorit toivovat lähinnä metodikysymyksiä eivätkä niinkään ohjelmointiin liittyviä kysymyksiä. Kannattaa tutustua, itse ainakin ajattelin seurata […]

Posted in Yleistä | No Comments »

Funktioreferenssit (R Cheat Sheets)

Sivusto devcheatsheet.com tarjoaa kehittäjille ja ohjelmoijille pikaoppaita ja funktioreferenssejä useisiin eri ohjelmointikieliin, sovelluksiin, tietokantoihin jne. Myös R:sta on koottu pikaoppaat yhden linkin taakse. Laitoin ko. linkin myös R-ohjelmointi.org:n Linkit-sivulle. Tiedon tarjosi One R Tip A Day.

Posted in R-ohjelmointi | No Comments »

Sukupuu sekvensseistä

Molekyylisekvenssipuun muodostaminen R:ssä on haastavaa, koska analyysia varten sekvenssien tulee olla rinnastettuja, mutta R:ssä ei oikein ole pidempien sekvenssien rinnastamiseen sopivia työkaluja. Jim Lindsey:n laajennuspaketti dna kuitenkin mahdollistaa sekvenssien rinnastamisen. Luetaan aluksi FastA-muodossa olevat sekvenssit R:ään, ja rinnastetaan ne ClustalW-algoritmilla: library(dna) library(ape) library(seqinr) dna<-read.fasta("ratite.fas", seqtype="DNA", as.string=T) alignment<-clustalw(toupper(dna), names(dna)) Rinnastuksen kirjoittamiseen tiedostoon tai sen muuttamiseen jatkoanalyysien […]

Posted in R-ohjelmointi | No Comments »

Pakattujen .zip-tiedostojen purkaminen

R:llä pystyy purkamaan pakattuja datatiedostoja kätevästi mm. unz-funktiolla. Alla olevassa esimerkissä haetaan .zip-tiedosto ja puretaan se luettavaan muotoon. temp <- tempfile() #muodostetaan väliaikainen tiedosto download.file("http://www.newcl.org/data/zipfiles/a1.zip",temp) #haetaan .zip-tiedosto data <- read.table(unz(temp, "a1.dat")) #puretaan unz-funktiolla ja luetaan data.frameksi dim(data) #datan dimensiot (rivit, sarakkeet) head(data) #katsotaan dataa unlink(temp) #poistetaan temppitiedosto Ajettuna: > temp <- tempfile() #muodostaan väliaikainen tiedosto […]

Posted in R-ohjelmointi, Skriptit | No Comments »

Yleisilmäys koeasetelmiin

Jos koesuunnitteluun liittyvät asetelmät ovat epäselviä, tai split-split-plot-asetelman yksityiskohdat ovat päässeet unohtumaan, saa erilaisiin asetelmiin nopean yleisilmäyksen laajennuspaketilla asbio. Seuraavat komennot tuottavat kuvan, jossa erilaiset koeasetelmät on esitetty piirroksin: library(asbio) runExpDesign() Alla olevassa kuvassa esimerkiksi CRD (completely randomized design) esittää täysin satunnaistetun koesarjan käsittelyjen määräytymisen. Kukin koeyksikkö (experimental unit erli EU) määrätään satunnnaisesti yhteen käsittelyyn. […]

Posted in Grafiikka | No Comments »

GoogleFight

Tiedättekö Google Fight:in? Siinä syötetään kaksi hakua Googleen, ja suurimman osumamäärän saanut voittaa. Saman voi toteuttaa R:llä käyttäen esim. RCurl-laajennuspakettia Omegahat-projektista. Toteutin Google Fight:in tässä kahdella funktiolla. Ensimmäinen funktio, jonka idean sain alunperin ”R” you ready -blogista, tekee Google-haun: getGoogleCount2 <- function(searchTerms=NULL, language="en", indicatorword="of about", …){ require(RCurl) entry <- paste(searchTerms, collapse="+") siteHTML <- getForm("http://www.google.com/search", hl=language, […]

Posted in Muu ohjelmointi | No Comments »

Taulukot kuvioiksi: tables2graphs.com

Törmäsin sattumalta mielenkiintoiseen sivustoon, jossa esitellään erilaisia mahdollisuuksia muuttaa pitkiä taulukoita havainnoillistaviksi graaffeiksi. Sivusto perustuu artikkeliin, jossa kirjoittajat kävivät useita valtiotieteen tieteenalan artikkeleja läpi ja muuttivat niiden sisältämiä taulukoita kuvioiksi. Kuviot on tehty R:llä ja sivusto tarjoaa myös niiden lähdekoodin. Olen itsekin lukenut useamman artikkelin, joka on sisältänyt sekavan tai muuten epäselvän taulukon. Asiasta voi […]

Posted in R-ohjelmointi | No Comments »

Sukupuun piirtäminen

Tämä on ensimmäinen artikkelini R-ohjelmointi -blogissa. Aloitan satunnaisen avustajan urani esimerkillä sukupuista. Kiitoksia Laurille kutsusta! Esimerkiksi geneettisessä tutkimuksessa on tarpeen piirtää sukupuurakenteita. Tarkoitukseen on kehitetty useitakin erillisiä ohjelmia, mutta tarvittaessa homma hoituu myös R:n laajennuspaketilla kinship. Se ei pysty piirtämään kovin monimutkaisia sukupuurakenteita, mutta ydinperhe-tyyppisten puiden piirtämiseen se soveltuu hyvin. Puun piirtämistä varten luodaan ensin kuvaus […]

Posted in Grafiikka | No Comments »