Présentation (commande SHIFT VALUES)

La commande SHIFT VALUES crée de nouvelles variables qui contiennent les valeurs des variables existantes des observations précédentes ou suivantes.

Spécification de base

La spécification de base correspond au nom de la commande, suivi de:

VARIABLE=nom_variable. Il doit s'agir d'une variable qui existe déjà dans le jeu de données actif.

RESULT = nouveaunom. Il doit s'agir d'une variable qui n'existe pas actuellement dans le jeu de données actif.

L'une des méthodes de décalage alternatives suivantes:

  • LEAD=n: Extrait la valeur d'une observation suivante du jeu de données. La valeur doit être un entier non négatif qui indique le nombre d'observations. Par exemple, LEAD=1 renvoie la valeur de la variable existante à partir de l'observation qui suit immédiatement l'observation en cours.
  • LAG=n. Extrait la valeur d'une observation précédente du jeu de données. La valeur doit être un entier non négatif qui indique le nombre d'observations. Par exemple, LAG=1 renvoie la valeur de la variable existante de l'observation immédiatement avant l'observation en cours.
  • MAJ = n. Extrait la valeur d'une observation précédente ou suivante. La valeur doit être un entier indiquant le nombre d'observations. Par exemple, SHIFT=1 renvoie la valeur de la variable existante à partir de l'observation qui suit immédiatement l'observation en cours, et SHIFT=-1 renvoie la valeur de la variable existante à partir de l'observation qui précède immédiatement l'observation en cours.

Pour spécifier plusieurs variables dans la même commande, utilisez une barre oblique (/) pour séparer la spécification complète de chaque variable suivante.

Règles de syntaxe

  • Le mot clé RESULT doit spécifier un nouveau nom de variable. Le nom ne peut pas être une variable qui existe déjà dans le jeu de données dataset.For , voir Noms des variables.
  • Chaque mot clé doit être suivi d'un signe égal (=) avant la valeur. Par exemple, RESULT=NewVar.

Opérations

  • Si le traitement du fichier scindé est activé, l'étendue du décalage se limite à chaque groupe scindé. Une valeur de décalage ne peut pas être obtenue à partir d'une observation d'un groupe scindé antérieur ou ultérieur.
  • Le statut du filtre est ignoré.
  • La valeur de la variable de résultat est définie sur la valeur système manquante pour les n premières ou dernières observations du jeu de données ou du groupe scindé, où n est le nombre d'observations spécifié sur LEAD, LAGou SHIFT. Par exemple, LAG=1 définirait la variable de résultat sur une valeur système manquante pour la première observation du jeu de données (ou première observation de chaque groupe scindé).
  • Une valeur de 0 pour le nombre d'observations copiera la valeur de la valeur d'origine dans la même observation pour la nouvelle variable.
  • Les valeurs manquantes de l'utilisateur sont conservées.
  • Les informations du dictionnaire provenant de la variable d'origine, dont les libellés de valeurs définis et les affectations de valeurs manquantes de l'utilisateur, sont appliquées à la nouvelle variable. (Remarque : Les attributs de variable personnalisés ne sont pas inclus.)
  • Un libellé de variable est automatiquement générée pour la nouvelle variable qui décrit l'opération de décalage qui l'a créée.

Exemple

DATA LIST FREE /Var1 (F1).
BEGIN DATA
0 1 9 0 1
END DATA.
VARIABLE LABEL Var1 'Original Variable'.
VALUE LABELS Var1 0 'No' 1 'Yes' 9 'Missing'.
MISSING VALUES Var1(9).
SHIFT VALUES VARIABLE=Var1 RESULT=Var1_Lead LEAD=1
    /VARIABLE=Var1 RESULT=Var1_Lag LAG=1
    /VARIABLE=Var1 RESULT=Var1_Shift SHIFT=-1.
Figure 1 : Résultats affichés dans la vue de données
Résultats affichés dans la vue de données
Figure 2. Informations de dictionnaire affichées dans la vue de variable
Informations de dictionnaire affichées dans la vue de variable