2010-10-04 24 views
3

Peut-être que mon cerveau ne fonctionne pas aujourd'hui mais je n'arrive pas à comprendre comment créer une liste à partir de 2 chaînes de caractères.Créer des listes à partir de la chaîne de caractères

J'ai actuellement eu

scale_lab 
[1] "Very Poor" "Poor"  "Average" "Good"  "Very Good" 
[6] "Don't Know" 

et

scale_rep 
[1] "1" "2" "3" "4" "5" "9" 

Donc ce que je veux faire est de combiner les deux dans une liste de sorte que 1 = très faible, 2 = pauvres et ainsi de suite .

Répondre

3

Il suffit d'utiliser names() pour l'affecter:

> scale_lab <- c("Very Poor", "Poor", "Average", "Good", 
+    "Very Good", "Don't Know") 
> scale_rep <- c("1","2","3","4","5","9") 
> names(scale_lab) <- scale_rep 
> scale_lab 
      1   2   3   4   5   9 
"Very Poor"  "Poor" "Average"  "Good" "Very Good" "Don't Know" 
> scale_lab["9"] 
      9 
"Don't Know" 
> 
+0

Cheers, je pense que j'ai besoin de ma tête vérifié pour manquer cela. –

2

Sinon, vous pouvez l'enregistrer comme facteur (l'équivalent R d'une variable catégorique)

scale_rep <- factor(scale_rep, label=scale_lab) 

Si vous avez besoin d'utiliser les chiffres pour certains données ordinales statistiques, vous pouvez toujours revenir aux chiffres:

as.numeric(scale_rep) 

Bien que, je voudrais recoder DK comme NA

scale_rep[scale_rep == 9] <- NA