2017-09-05 5 views
-1

Je suis en train d'effectuer une recherche d'une table à l'autre en utilisant agrep, mais les résultats que je veux retourner ne sont pas les valeurs correspondantes. Ils viennent d'une autre colonne/variable. Ma syntaxe actuelle agrep:Utilisez agrep pour renvoyer une variable différente

Alors maintenant: personalfolders$DOBMatch == c(290, 312) mais ce que je veux est de retourner les valeurs d'une autre variable dans la trame de données que je suis à la recherche en disant: allees2$PartPathmatch1 pour chacune de ces lignes retournées. Je connais la variable value = TRUE pour agrep, mais je crois que seulement renvoie la valeur de recherche elle-même.

Est-il possible que je peux soit utiliser le champ personalfolders$DOBMatch qui contient maintenant quelque chose comme c(290, 312) pour créer un autre vecteur puis l'ajouter au cadre des résultats de consultation, ou puis-je ajouter un autre argument à la fonction agrep pour retourner le allees2$PartpathMatch1 valeurs correspondantes directement?

+0

'allees2 $ PartPathmatch1 [c (290312)]' – Jaap

+0

@Jaap Cela voudrait dire que je ferais: 'personalfolders $ DOBMatch1 <- allees2 $ PartPathMatch1 [personalfolders $ DOBMatch]' mais ça ne marche pas – shmaxnow

Répondre

0

Que diriez-vous

personalfolders$DOBMatch <- lapply(personalfolders$DOB, function(y) allees2$PartPathMatch1[agrep(y, allees2$`Date Of Birth`, max.distance=1)])