2015-08-07 2 views
-1

J'essaye de recoder une variable d'octet dans mon fichier Stata en une variable de chaîne. Mais il me montre une erreur (indiquant qu'il ne reconnaît pas l'élément). Le ficelage ne fonctionne pas non plus. Puis-je faire ça à Stata?Comment recoder une variable d'octet en une variable de chaîne dans Stata

Le fichier de données que j'ai contient les informations démographiques des continents. Je l'ai recodé en fonction de l'espérance de vie (lexp). Le code J'utilise est:

recode lexp (min/72 =1) (73/75 = 2) (76/max=3) 

Maintenant je dois recoder 3 à une valeur de chaîne A.

En utilisant recode lexp (3=A)

Je reçois

inconnu el A règle

+0

Pourriez-vous nous donner un code d'exemple pour voir ce que vous avez fait de mieux? – Peut22

+0

A édité la question – dexter

Répondre

2

recode est destiné à modifier les valeurs des variables numériques à d'autres valeurs numériques; pas aux cordes.

Je pense que vous voulez label vos valeurs:

clear 
set more off 

input /// 
byte bytevar 
1 
2 
3 
end 

// add value labels 
label define lblbyte 1 "A" 2 "B" 3 "C" 
label values bytevar lblbyte 

// list 
list 

// but they are really numeric values 
list, nolabel 

Voir help label.

Vous pouvez également définir les étiquettes de valeur directement dans la commande recode. Lire attentivement help recode.

+0

Merci! L'étiquetage a fonctionné! Peut-on recoder une variable byte en une variable string? – dexter

+1

La commande 'recode' n'est pas censée faire cela. Vous pouvez convertir une valeur numérique en sa chaîne correspondante en utilisant la fonction 'string()'. Quel est le but de convertir la valeur numérique '3' dans la chaîne' A'? L'étiquetage n'est pas suffisant pour votre tâche? –