Laajennus RESHAPE-sukroon

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Petri Palmu
Sähköposti:    -
Päiväys: 15.2.2007 19:50

Moi,

Parisen vuotta sitten yhdessä Kimmon kanssa
työstettiin (pitkittäis-)aineistojen
erinäisiä muokkauksiin RESHAPE-sukroa (jota
toki voi käyttää esim. yhteenvetotaulukoiden
muokkailuihin).

Lisäsin yhden ominaisuuden "pitkästä leveään" osioon.
Ositteiden sallitaan nyt olevan erisuuruisia. Dataan
lisätään rivejä niin, että ositteet saadaan
samansuuruisiksi (ideasta vrt. esim. R:n expand.grid() ).


Esimerkki:

FILE SHOW KOE1
 Olk. T  aikamuuttuja ja Z yksilötunniste.
DATA _KOE1
I   T   X   Y    Z    W
V1   1  2   1     M   a
V2   2  3   11    M   a
V1   1  -   2     F   b
V3   3  8   -1    F   b

FILE COPY _KOE1 TO NEW KOE1

FILE SHOW KOE1
MASK=NGXXTS
MISSING_VALUE=0 / oletus -9999999 ei käy koska X tyyppiä=1
/RESHAPE-WIDE KOE1,KOE2   /
.................

FILE LOAD KOE2,CUr+1 / data in wide form
DATA KOE2*
 Z W    __SubjID    X1_1   X1_2   X1_3    X2_1        X2_2        X2_3
 F b       1.000       -      -  8.000   2.000           -      -1.000
 M a       2.000   2.000  3.000      -   1.000      11.000           -

huom. lajittelu Z:n mukaan

FILE STATUS KOE2
 Copy of data matrix _KOE1 SORT:T
FIELDS: (active)
   1 ST_   1 Z
   2 SS_   1 W
   3 NS-   4 __SubjID ~MISSING
   4 NA-   8 X1_1     V1
   5 NA-   8 X1_2     V2
   6 NA-   8 X1_3     V3
   7 NA-   8 X2_1     V1
   8 NA-   8 X2_2     V2
   9 NA-   8 X2_3     V3
END
Survo data file KOE2: record=87 bytes, M1=15 L=64  M=9 N=2


.................
toiseen suuntaan (vain X1 muuttuja)
MASK=SSGXXX---
/RESHAPE-LONG KOE2,KOE3
...............
FILE LOAD KOE3,CUR+1 / data in long form
DATA KOE3*                                              'X1_'
 Z W    __SubjID    __IdVar1     GLIndeX NameOfXs       LongX
 F b       1.000       1.000       1.000 X1_1               -
 F b       1.000       1.000       2.000 X1_2               -
 F b       1.000       1.000       3.000 X1_3           8.000
 M a       2.000       2.000       1.000 X1_1           2.000
 M a       2.000       2.000       2.000 X1_2           3.000
 M a       2.000       2.000       3.000 X1_3               -


En viitsinyt listata sukrokoodia tähän, mutta koodin saa
multa niin halutessaan (testaaminen olisi tervetullutta).

Joitakin parannuksia tulisi tehdä seuraavaan versioon, mm.
- string-muuttujien "pinoaminen" LONG-suunnassa
- muuttujien tyyppien kanssa syntyy kauneusvirheitä (kuten
esimerkistä näkyy).
- missing value määräminen, kun on erilaisia muuttujatyyppejä
  (ja havaintoarvoja)

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.