Comment convertir les étiquettes de valeur de colonne en valeurs ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
Je suis nouveau dans la communauté (mais j'utilise JMP depuis la version 1), donc je ne sais pas où poser cette question.
Avoir importé un fichier depuis SPSS (.sav) avec plusieurs colonnes avec des étiquettes de valeur. Je souhaite utiliser les étiquettes de valeur (qui sont des noms réels) au lieu des valeurs (qui sont des nombres). Recode ne semble pas avoir cette fonction. Quelqu'un pourrait-il m'aider ? Merci beaucoup d'avance. Jens
Re : Comment convertir les étiquettes de valeur de colonne en valeurs ?Merci à tous ceux qui ont contribué à cela. J'ai été éloigné de l'ordinateur pendant un certain temps, mais je retourne maintenant travailler avec JMP. Je vais essayer les différentes suggestions et voir laquelle est la plus rapide pour moi.
Re : Comment convertir les étiquettes de valeur de colonne en valeurs ?Une autre façon de convertir la colonne en colonne d'étiquettes consiste à copier la colonne, à coller les données dans une fenêtre d'éditeur de script (ou dans n'importe quelle fenêtre de texte). Copiez ensuite les données de la fenêtre de texte. Collez dans une nouvelle colonne de caractères de votre tableau d'origine.
Re : Comment convertir les étiquettes de valeur de colonne en valeurs ?Je n'ai pas pu résister à l'envie d'écrire l'idée de Karen. Obtenir des étiquettes de valeur renvoie une expression avec un argument : une liste d'"affectations", par exemple 2 = "Non". J'en viens à penser à deux approches : soit utiliser ces affectations (illégales) directement, soit, comme le suggère Xan, les manipuler dans un Correspondre expression.
Vous trouverez ci-dessous mes tentatives avec les deux approches. L’approche Match est ici plus rapide. Pour les grandes tables et si de nombreuses valeurs manquent d'étiquettes, les performances semblent devenir plus égales. Le code Match peut probablement être amélioré.
open_example_table = Expr(
dt = Open( "$SAMPLE_DATA/CrabSatellites.jmp" );
col = Column( dt, "color" );
col << data type( character );
);
//1
open_example_table;
bt = HP Time();
// Direct assignment code
v = Arg( col << get value labels(), 1 );
For( i = 1, i <= N Items( v ), i++,
col[dt << get rows where( col[] == Arg( v[i], 1 ) )] = Arg( v[i], 2 )
);
// End direct assignment
ht = HP Time();
t1 = ht - bt;
Close( dt, no save );
// 2
open_example_table;
bt = HP Time();
// code for building Match expression by string manipulation
match_expr = Parse(
"Match( col[]," || Substitute( Char( Arg( col << get value labels(), 1 ) ),
"{", "",
"=", ",",
"}", ""
) || ",col[])"
);
For Each Row( col[] = match_expr );
// End Match
ht = HP Time();
t2 = ht - bt;
Show( t1, t2 );
t1 = 1729;
t2 = 1019;
//:*/
Re : Comment convertir les étiquettes de valeur de colonne en valeurs ?Bonne idée, Karen.
Jens, Il n'est pas facile de diffuser les étiquettes sous forme de données. Deux façons auxquelles je peux penser :
- Avec les scripts, vous pouvez utiliser Get Value Labels et manipuler le résultat manuellement ou par programme pour qu'il ressemble à l'expression Match() générée par Recode lorsque vous l'enregistrez en tant que script.
- Faites un tableau sur la variable et utilisez Make Into Data Table sur le résultat.
Pour le numéro 2, vous aurez besoin d'un moyen de faire correspondre les éléments s'ils ne sont pas dans un mappage trié un à un. Étapes pour cela :
- Créez une copie des valeurs dans une nouvelle colonne (sans étiquettes de valeur)

- Utilisez Tabulate avec les deux variables comme colonnes de catégorie :


- Utilisez la commande Tabulate Make into Data Table pour obtenir une nouvelle table sans propriétés d'étiquettes de valeur.
- Utilisez Tableaux > Rejoindre pour faire correspondre les valeurs brutes et obtenir la nouvelle colonne « étiquetée » sans étiquettes de valeur.
Re : Comment convertir les étiquettes de valeur de colonne en valeurs ?Je pense que ce que nous aimerions (mais que nous n'avons pas pour le moment), c'est un "recodage avec des étiquettes de valeur".Moi aussi, j'ai voulu cette fonctionnalité de temps en temps.
Karen
Re : Comment convertir les étiquettes de valeur de colonne en valeurs ?Si vous disposez d'un tableau des codes et de leurs valeurs, vous pouvez utiliser la commande UPDATE pour ajouter la colonne de valeur appropriée.
Re : Comment convertir les étiquettes de valeur de colonne en valeurs ?Salut, merci pour le conseil. Il y a plus de 300 étiquettes de valeur que je devrais saisir manuellement dans Recode - j'espérais qu'il y aurait une manière plus intelligente.
Re : Comment convertir les étiquettes de valeur de colonne en valeurs ?Remplacez le type de données par caractère, puis utilisez Recode.
Re : Comment convertir les étiquettes de valeur de colonne en valeurs ?Salut Stanley, Merci d'avoir essayé de m'aider.Je connais la fonction des étiquettes de valeur, mais ce dont j'ai besoin est de modifier ou de remplacer les valeurs 1,2,3 par des valeurs de caractères Non, Oui (par exemple, comme dans votre exemple).
Je dois joindre deux tables avec des colonnes correspondantes dont l'une a des valeurs de caractères (identiques aux étiquettes de valeur dans l'autre table, c'est-à-dire qu'aucun codage n'a été utilisé), l'autre a des valeurs numériques (codes) avec des étiquettes de valeur.
Ou existe-t-il un moyen de joindre les tables à la volée en fonction des étiquettes de valeur d'une colonne dans une table et des valeurs réelles dans la colonne correspondante dans l'autre table ?
Cordialement
Jens
Re : Comment convertir les étiquettes de valeur de colonne en valeurs ?Bonjour,
Si je comprends bien votre question.
Vous pouvez activer ou désactiver les étiquettes de valeur via les propriétés de colonne.
Dans cet exemple, en utilisant les préférences du consommateur à partir des exemples de données, j'ai pu faites un clic droit sur la colonne et décochez l’option d’étiquette de valeur.

La colonne n'utilise plus l'étiquette de valeur comme indiqué ci-dessous.

J'espère que ça aide.
Meilleur,
Stan