R: perustoiminnasta Survolla

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Petri Palmu
Sähköposti:    -
Päiväys: 28.9.2005 19:09

Vähän täydennyksenä äskeisiin viesteihini, kokisin hyödylliseksi, että
alkuvaiheessa pelattaisiin R:n ehdoilla (tai katsottaisiin asioita
R:n näkökulmasta), jotta perustoiminnot kehittyisivät vakintuneisiin
ja hyviksi havaittuihin muotoihinsa. Nähdyt sukroesimerkit osoittavat
sen, että R:n jutut saadaan todella hyvin täydentämään Survon
omia käyttötapoja ja työkaluja. Alla pari R:n peruskäyttöön liittyvää
juttua (pohdiskeltavaksi):

Tapaus: tulostukset
Monissa käyttöliittymissä R-ajot tulostuvat toiseen ikkunaan, esim.
Emacsissa eri puskuriin. Survossa vaihtoehtoja näyttäisi olevan
useampia:

a) samaan toimituskenttään
b) toiseen aukeavaan Survoikkunaan (pohjana aluksi tyhjä toimituskenttä)
c) ei tulostusta, (talletettuna) johonkin (teksti)outputiedostoon

Kohtaan a) liittyy vaihtoehtoja:
- tulostus heti /SR komentorivin jälkeen (tarvittaessa raivataan
  lisää rivejä toimituskenttään, tämä ainakin optiona)
- tulostus määrätyltä riviltä alkaen
- oletusrivinä END+1 ?

Itse lisäsin omaan /SR -sukrooni juuri tuon END+1 oletukseksi, koska
on tyypillistä, että R-ajot (ja kenties pitkänä tulostuslistana)
tapahtuvat keskellä muuta kooditusta. Parempi vaihtoehto kuitenkin
olisi, että tulostus tulisi ao. tehtäväaiheen alle. Tämä sama
automaattinen rivien raivausmahdollisuus olisi hyödyllinen myös
Survo komennoissa (ettei tule tulostettua tärkeän koodin päälle).

Kohtaa b) pitäisin myös harkitsemisen arvoisena. Itse asiassa olisi
jos kaksi Survo ikkunaa olisivat vierekkäin ja R:n komentojen tuottamia
tuloksia voisi pälyillä viereisessä ikkunassa. Tämä saattaa madaltaa
puhtaiden R-käyttäjien kynnystä ottaa Survo teksturiksi (ja toiv.
myöhemmin laajemminkin hyödyksi :)) Mitä tutumpia piirteitä
vaihtoehtoisessa käyttöliittymässä on saatavilla, sitä matalampi kynnys
kaiketi vaihtaa teksturia.

Kohta c) on helppo lisätä nyk. /SR-sukroon.


Tapaus: Työtilojen (workspace) hallinta
save.image() -funktio tallettaa R:n käytössä olevan workspacen.
load("nimi") vastaavasti avaa "nimi" -nimisen työtilan, joka on
.RData tiedostomuotoa. Minulle on vielä epäselvää, millä tavoin
Survoa käyttäessä työtiloja hallitaan. Olenko ymmärtänyt ihan väärin,
että workspace (oletuksena nimetön ".RData") otetaan /SR komennolla
väliaikaisesti käyttöön (ja deletoidaan välittömästi käytön jälkeen).
Nyt jos ajoja tehdään vaiheittain (esim. monivaiheisissa ja paljon aikaa
vievissä toimituksissa, joihin mahtuu myös yrityksiä ja
epäonnistumisia), niin tulisiko työtilaa aina välillä tallettaa ja
avata uudestaan (ikään kuin konkatenoida), esim

R-skripti1:
.
.
.
save(file="tmp.RData")

R-skripti2:
load(file="tmp.RData")
.
.
.
save(

R-skripti3:
load(file="tmp.RData")
.
.
.
save(file="tmp.RData")

jne.    ?


Tuo kyllä toimii, kunhan sen vaan muistaa tehdä. En tiedä, voisiko
asettaa jonkinlaista "R-moodia", jossa skriptien tuottamien
objektien yhteenliittäminen automatisoituisi?

t. Petri

Vastaukset:
[ei vastauksia]

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.