FAQ/restwb - CBU statistics Wiki

Revision 8 as of 2010-03-23 12:18:23

Clear message
location: FAQ / restwb

The VARSTOCASES and CASESTOVARS commands

The below can also be performed using the [:FAQ/mixedR:RESTRUCTURE] command under the DATA menu in SPSS. For the example below we wish to stack columns x and y to make a single column called time. This is particularly useful for converting data from a format suitable for repeated measures to one suitable for multilevel modelling in SPSS. Notice we need to sort the cases before reformatting the data.

DATA LIST FREE / idno x y . 
BEGIN DATA 
001 34 56 
002 23 45 
003 39 41 
004 33 11 
005 87 57 
006 99 36 
END DATA. 

SORT CASES BY IDNO.
VARSTOCASES 
 /MAKE time FROM x y
 /INDEX = newfact "new var label" (time) 
 /KEEP = idno.

Use the /KEEP or /DROP subcommands to specify which variables (not created by the restructuring) are to be saved into the new file. The default is to keep all the variables in the original data file ie drop none.

To do the reverse operation we need to use the CASESTOVARS command in conjunction with SORT CASES as below:

DATA LIST LIST/sub score.
BEGIN DATA                
1 34                    
1 56                    
2 23                    
2 45                    
3 39                    
3 41                    
4 33                   
4 11                    
5 87               
5 57
6 99
6 36    
END DATA.                 
LIST.                     

COMPUTE num=1.                       
IF sub = LAG(sub) num = LAG(num)+1.
LIST.  
                                                                   
SORT CASES BY sub num.             
CASESTOVARS                          
 /ID = sub                           
 /INDEX = num.                                      
LIST.                                

By default all variables are saved into the new file. The /DROP subcommand may be used to remove variables which are not required after restructuring. There is no /KEEP subcommand available for CASESTOVARS.