J'ai une grande table avec 50000 OBS. Les éléments suivants imminent la structure: où il y a des valeurs manquantes sur le vecteur "A". Cependant, j'ai des tables dans lesquelles l'identifiant et les chaînes manquantes sont incluses: p> est un moyen d'inclure les chaînes manquantes de la clé dans la colonne A à l'aide de l'ID? p> p>
3 Réponses :
Les vecteurs nommés font de belles tables de recherche: lookup est maintenant un vecteur nommé, vous pouvez accéder à chaque valeur par lookUp [ID] E.G. Recherche ["2"] (Assurez-vous que le nombre est un caractère, pas numérique) p>
Match semble être plus rapide sur de grands vecteurs / données.frames.
Je pense que cette façon est plus lisible que la correspondance, mais oui une vitesse probablement importante pour les gros cadres.
Vous pouvez simplement utiliser match code>; Cependant, je recommanderais que vos deux jeux de données utilisent les deux caractères code> S au lieu de facteur code> S pour empêcher les maux de tête ultérieurement. factor(df$ID, levels = key$ID, labels = key$a)
## [1] A B C D E F G H I
## Levels: A B C D E F G H I
Bonjour, merci pour la suggestion. Suite à vos conseils, je viens d'obtenir sur mes données d'origine un vecteur comme sortie avec la longueur de mon NA code> mélangé avec des entrées et na code>
Une autre option consiste à utiliser data.table code> s rapide joindre binaire rejoindre em> et mise à jour par référence em> capacités NA code> S (pas tous les em> les cas joints), un peu plus compliqué implémintant sera p > setkey(setDT(key), ID)
setkey(setDT(df), ID)[is.na(a), a := key[.SD, a]]
Hallo David, merci d'avoir montré les deux sens. Je sais que c'est difficile à expliquer sans montrer les données d'origine, mais les deux moyens ont traversé sans erreur et sans remplacer le na code>
Avez-vous réel NA code> s ou juste caractère "na" code>? Quoi qu'il en soit, la première méthode devrait fonctionner dans tous les cas. Il est également possible qu'aucun cas dans clé code> correspondant df code>.