[vastaus aiempaan viestiin]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 21.5.2004 16:02 |
Esittämistäsi keinoista SELECT-täsmennyksen käyttö lienee selvin. SELECT:illä ei ole periaatteessa kapasiteettirajoituksia, koska sen tarvitsemat tilat varataan muistista dynaamisesti. Itse täsmennyksen kirjoittaminen tietenkin hankaloituu, jos vaihtoehtoja on kymmeniä. > CLASSIFY-toiminnolla ensin uuden muuttujan on siihen turhan raskas, > kun ko. uusi muuttuja on tod.näk. tarpeeltaan kertakäyttöinen. En halveksisi tätäkään keinoa, koska "kertakäyttömuuttujat" voi aina helposti siivota pois FILE REDUCE:lla. Mielestäni yleisin ja "suurissa sovelluksissa" paras keino on käyttää FILE SELECT -operaatiota. Koska se saattaa olla useille survoilijoille tuntematon, kuvaan käyttöä siinä tilanteessa, jossa kopioidaan ne havainnot, joissa IKA saa jonkin arvoista 1,3,5,9,10. *Tehdään aluksi vaiheittain 100 havainnon aineisto KOE muuttujista *IKA ja PAINO: * *Helpoin tapa (mielestäni) luoda tiedostolle kehikko on seuraava. *Kuvataan ensin vain yksi tyypillinen havainto: *DATA K *IKA PAINO *1 11.1 * *FILE COPY K TO NEW KOE / Kopidaan tuo 1 havainnon aineisto tiedostoksi. *FILE INIT KOE 99 / Tehdään tilaa yhteensä 100 havainnolle. * *Lasketaan sitten muuttujat "sopivista" jakaumista: *VAR IKA,PAINO TO KOE *IKA=int(10*rand(2004))+1 *PAINO=20*sqrt(IKA)+N.G(0,5,rand(2004)) *...................................................................... *Tiedoston alku näyttää seuraavalta: *FILE LOAD KOE,CUR+1 / IND=ORDER,1,10 *DATA KOE*,A,B,C C IKA PAINO A 1 20.5 * 6 50.6 * 4 38.9 * 1 19.4 * 2 29.2 * 7 54.7 * 6 50.9 * 6 47.1 * 7 52.4 B 3 38.0 * *Jotta päästään valikoimaan FILE SELECT:illä, luetellaan halutut IKA- *arvot omana datanaan (joka voi olla kuinka laaja tahansa): *DATA SEL *IKA *1 *3 *5 *9 *10 * *FILE COPY SEL TO NEW SEL2 / Kopioidaan arvoluettelo datatiedostoksi. *...................................................................... *Nyt valinta tapahtuu yksinkertaisesti näin (kts. FSEL?): *FILE SELECT KOE2 FROM KOE BY SEL2 / KEYS=IKA * *Tulos on alkupäästään seuraavanlainen: *FILE LOAD KOE2,CUR+1 / IND=ORDER,1,10 *DATA KOE2*,D,E,F F IKA PAINO D 1 20.5 * 1 19.4 * 3 38.0 * 10 63.5 * 10 58.2 * 5 43.7 * 1 21.5 * 3 37.0 * 9 59.4 E 9 57.6 * *On siis kopioitu ne havainnot, joissa muuttujalla IKA tiedostossa KOE *on jokin valintatiedostossa SEL2 oleva IKA-arvo (KEYS=IKA). *FILE SELECT on hyödyksi myös mutkikkaammissakin valikoinneissa. -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!