R-ohjelmisto Survon palveluksessa

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 22.5.2005 10:03

Olen kevään aikana katsastellut mahdollisuuksia käyttää R-ohjelmistoa
Survon välityksellä niin, että survoilijat voivat teettää R:llä esim.
sellaisia tilastollisia analyyseja ja kuvia, joita ei Survossa ole.
Vapaasti käyttöön saatavassa R-ohjelmistossa
http://www.R-project.org 
on runsaasti harvinaisia ja uusia tilastollisia analyysimenetelmiä,
joita Survon käyttäjät pääsevät nyt suoraan hyödyntämään. Se edellyttää
R:n käyttötapojen (varsin ohjelmoinninoloista!) ainakin osittaista
omaksumista. Survo ja R tukevat kuitenkin näin hyvin toisiaan.

Tällä hetkellä on mahdollista toimia seuraavasti:
1) Sukrolla /RDAT talletetaan R:lle sopivassa muodossa tutkittava
aineisto (tai useita sellaisia) tekstitiedostoon.

Esim. DECA-aineistosta nimitiedon ja ottelijan pituus tallentuu näin

VARS=Name,Height
/RDAT DECA,TEST.DAT

tekstitiedostoon TEST.DAT.

2) Kirjoitetaan toimituskenttään R-komentojono ja talletetaan se
R-päätteiseksi tekstitiedostoksi:

SAVEP CUR+1,CUR+9,test.r
# Ensimmäinen käsky lukee tiedoston R:n datakehikoksi (dataframe) dat:
dat <- read.table("TEST.DAT")
attach(dat)
cat("Height:")
cat("\nstandard deviation")
sd(Height)
cat("mean absolute deviation")
mad(Height)
detach(dat)

3) R käynnistyy (täysin näkymättömästi) sukrokomennolla /SR, jonka
parametrina on komentojonotiedoston nimi eli esimerkissä komento on
/SR test.r
ja se tuottaa (piiloon jäävän tekstitedoston kautta) toimituskenttään
tulokset tässä tapauksessa muodossa:

Height:
standard deviation[1] 5.090493
mean absolute deviation[1] 5.1891

                     - - -

Jotta R mukautuu Survon toivomuksiin, sukro /SR edellyttää, että
hakemistoon <Survo>\U\SYS on talletettu alustustiedosto SURVO.R
Sen sisältöä käyttäjä voi laajentaa ja muuttaa.
Kun siirrät tämän viestin toimituskenttään voit asentaa sen
seuraavalla SAVEP-komennolla.

SAVEP CUR+1,CUR+18,<Survo>\U\SYS\SURVO.R
# R environment settings in SURVO MM
options(digits=7)
# Make an Encapsulated PostScript file
survo.eps <- function(name)
   {
   postscript(name, horizontal=F, pagecentre=F, width=6, height=6)
   }
# Make a histogram with fitted normal distribution
hist.with.normal <- function(x,xlab=deparse(substitute(x)),...)
   {
   h <- hist(x,plot=F,...)
   s <- sd(x)
   m <- mean(x)
   ylim <- range(0,h$density,dnorm(0,sd=s))
   hist(x,freq=F,ylim=ylim,xlab=xlab,
          main=paste("Histogram of ",xlab),...)
   curve(dnorm(x,m,s),add=T)
   }

Tässä alustavassa SURVO.R-versiossa asetetaan tulostustarkkuus ja
määritellään kaksi R-funktiota.

Funktio survo.eps() ilmoittaa, että seuraava kuva piirretään suoraan
EPS-tiedostoksi. R-komentojonossa kuvat tehdään Survolle sopivaan
muotoon komennoilla
survo.eps("kuva.eps")
# piirtokomennot
dev.off()

Funktio hist.with.normal() piirtää valitun muuttujan histogramman ja
siihen sovitetun normaalijakauman tiheysfunktion. Tämä funktio on
(toistaiseksi) mukana eräiden mallisovellusten vuoksi.

R-ohjelmisto edellyttää, että alustustiedosto SURVO.R nimetään
ympäristömuuttujana R_PROFILE. Tämä tapahtuu itse sukrolla /SR
SURVO MM -versiossa 2.25 ja sitä tuoreemmissa.

Vanhemmissa SURVO MM:n versioissa R_PROFILE tulee asettaa ennen
Survon käynnistystä komentotulkin ikkunassa komennolla
SET R_PROFILE=C:\PROGRA~1\SURVO\U\SYS\SURVO.R
ja välittömästi tämän jälkeen Survo pitää käynnistää komennolla
C:\PROGRA~1\SURVO\u\S.EXE
jotta R_PROFILE-asetus pysyy voimassa.

Huom. SURVO MM -versioissa 2.25+ /SR asettaa R_PROFILE:n automaattisesti
uudella PUTENV-komennolla.

Toimituskentässä SR.EDT, joka löytyy näiltä sivuilta (tilapäisesti)
osoitteesta
http://www.survo.fi/tmp/SR.EDT 
on listattuna sukrot /SDAT ja /SR, jotka tulee tallettaa.
Ennen talletusta sukrossa /SR oleva R-ohjelmistopolku
>C:\Progra~1\R\rw2001\bin\
on muutettava oman koneen R-ohjelmiston sijaintia vastaavaksi.

Kentässä on myös pari esimerkkiä, joilla pääsee testaamaan
yllä kuvattuja toimintoja.
Survon ja R:n yhteistoimintaa on tarkoitus kehittää edelleen
käyttäjien toivomusten mukaan. Antakaa siis palautetta.
Kannattaa varautua siihen, että tässä esitettyyn työskentelytapaan
saattaa tulla vielä olennaisesia muutoksia.

- Seppo

Vastaukset:

Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.