Re: Uusi DAT-funktio havaintoarvojen poimintaan

[vastaus aiempaan viestiin]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 8.12.2002 16:27

Mietittyäni asiaa hieman lisää päädyin seuraaviin täydentäviin
ominaisuuksiin uuden DAT-funktion toiminnassa:

Vaikka kyseessä on editoriaalisen laskennan laajennus, on varmasti
hyvä saada näkyviin myös merkkijonomuuttujien arvoja seuraavaan
tapaan:
DAT_KUNNAT(Helsinki,Lääni)=UUS
DAT_KUNNAT(Lääni>UUS,Kunta)=Artjärvi   1. Uudenmaan kunta
DAT_KUNNAT(Lääni>UUS,Väestö)=2039      ja sen väkiluku

Jos kuitenkin yrittää laskea arvoilla, jotka eivät ole numeerisia,
ne tulkitaan nolliksi:
DAT_KUNNAT(Helsinki,Lääni)+100=100

Merkkijonomuuttujan (tässä Palvelu) arvon ollessa numeeriseksi
tulkittuna mielekäs laskeminenkin onnistuu:
DAT_KUNNAT(Helsinki,Palvelu)=7
DAT_KUNNAT(Helsinki,Palvelu)+1=8

Keskusteltuani Kimmon kanssa esille nousivat myös seuraavat
ominaisuudet:

Joskus nimimuuttuja on luonteeltaan numeerinen (esim. päiväys
muotoa 20021208, puhelinnro muotoa 0919124866, koehenkilön
sosiaaliturvatunnus tai muu numeerinen tunnus).
On suositeltu, että tällaiset tiedot esitettäisiin datatiedostoissa
merkkijonokentissä. Jos kuitenkin ko. tieto on numeerisena muuttujana,
on tarpeen päästä kiinni havaintoihin tällaistenkin identifikaatio-
tietojen kautta.
Jotta ne eivät sotkeutuisi havaintojen järjestysnumeroihin,
olen muuttanut sääntöjä siten, että DAT-funktiossa on kirjoitettava
havainnon järjestysnumeron eteen merkki #.

Tällöin siis edellisen viestin esimerkki
DAT_KUNNAT(31,Väestö)=error
antaa virheilmoituksen "Observation 31 not found!" eli kuntaa nimeltään
"31" ei ole olemassa, mutta
DAT_KUNNAT(#31,Väestö)=7954
toimii ja antaa havainnon nro 31 väestön ja vastaavasti
DAT_KUNNAT(#31,Kunta)=Halikko
ko. kunnan nimen. Tarkistus: DAT_KUNNAT(Halikko,Väestö)=7954

Esimerkki 2:
DATA KOE2:(X,Y) 1,2 3,4 5,6 7,-

FILE COPY KOE2 TO KOE2B / Muuttujat X,Y numeerisia tiedostossa KOE2B
DAT_KOE2B(5,Y)=6        / "Nimimuuttujan" X arvon mukainen Y
DAT_KOE2B(#3,Y)=6       / Havainnon järjestysnumeron mukainen Y
DAT_KOE2B(7,Y)=MISSING  / Puuttuva numeerinen tieto on MISSING.

- Seppo

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.