Forms vectors containing subsets of the values in other vectors (R.W. Payne).
Options
CONDITION = expression |
Logical expression to define which units are to be included; no default – this option must be set |
---|---|
SETLEVELS = string token |
Whether to reform the levels (and labels) of factors to exclude those that do not occur in the subset (yes , no ); default no |
NULL = scalar |
Indicator set to 1 or 0 according to whether or not the subset contains no units |
Parameters
OLDVECTOR = vectors |
Vector from which the subset is to be formed |
---|---|
NEWVECTOR = vectors |
Vector to store the subsets if none is specified, the OLDVECTOR is redefined to store the subset |
Description
SUBSET
forms vectors containing subsets of the values in other vectors. The subset is defined by a logical condition which must be specified by the CONDITION
option; units with true values (non-zero and non-missing) for the condition are included in the subset, others are omitted.
Subsets can be formed for factors, texts and variates. Relevant attributes will also be transferred across to the new structures but, if the subset excludes some of the levels of a factor, a new reduced set of levels (and labels) can be requested by setting option SETLEVELS=yes
.
The NULL
option can specify a scalar that will be set to one if the subset contains no units; otherwise it is set to zero. Also, when NULL
set, SUBSET
suppresses the fault that it normally gives if the subset is empty.
The original vectors are specified by the OLDVECTOR
parameter and identifiers for the vectors to contain the subsets are specified by the NEWVECTOR
parameter. If NEWVECTOR
is not set, the OLDVECTOR
are redefined to store the subsets instead of their original values.
Options: CONDITION
, SETLEVELS
, NULL
.
Parameters: OLDVECTOR
, NEWVECTOR
.
Method
RESTRICT
is used to obtain a list of units included according to the CONDITION
. This is then used to calculate a format for EQUATE
to use to transfer the values. The DUPLICATE
directive is used to transfer any relevant attributes. We thank Jac Thissen for suggestions about the redefinition of factor levels.
Action with RESTRICT
Any restriction is ignored; the subset is formed only from the CONDITION
option.
OLDVECTOR
is redefined to store the subset.
See also
Directive: EQUATE
.
Procedure: UNSTACK
.
Commands for: Calculations and manipulation.
Example
CAPTION 'SUBSET example',\ 'Form a subset of a variate.'; STYLE=meta,plain VARIATE [VALUES=101...126] X SUBSET [CONDITION=X<111] OLDVECTOR=X; NEWVECTOR=Xs PRINT Xs CAPTION 'Form a subset of a text.' TEXT [VALUES=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z] T SUBSET [CONDITION=X<111] OLDVECTOR=T; NEWVECTOR=Ts PRINT Ts CAPTION 'Form a subset of a factor.' FACTOR [LEVELS=26; VALUES=1...26] F SUBSET [CONDITION=X<111] OLDVECTOR=F; NEWVECTOR=Fs PRINT Fs