Table des matières:
Vidéo: COMMENT TROUVER LE CODE D'UN TÉLÉPHONE ? 2025
Lorsque vous utilisez du texte, vous pouvez souvent résoudre des problèmes si vous êtes en mesure de trouver des mots ou des motifs dans le texte. R rend cela facile à faire. Imaginez que vous ayez une liste des états aux États-Unis, et vous voulez savoir lequel de ces états contient le mot Nouveau.
Pour étudier ce problème, vous pouvez utiliser les états de jeu de données intégrés. noms, qui contient - vous l'avez deviné - les noms des États des États-Unis:
tête (noms d'état) [1] "Alabama" "Alaska" "Arizona" [4] "Arkansas" "Californie" "Colorado"
D'une manière générale, vous pouvez trouver des sous-chaînes dans le texte de deux façons:
-
Par position: Par exemple, vous pouvez demander à R d'obtenir trois lettres à partir de la position 5.
-
Par modèle: Par exemple, vous pouvez demander à R d'obtenir des sous-chaînes qui correspondent à un mot ou un motif spécifique.
Un motif est un peu comme un joker. Dans certains jeux de cartes, vous pouvez utiliser la carte Joker pour représenter n'importe quelle autre carte. De même, un motif dans R peut contenir des mots ou certains symboles avec des significations spéciales.
Recherche par position dans R
Si vous connaissez la position exacte d'un sous-texte dans un élément de texte, vous utilisez la fonction substr () pour retourner la valeur. Pour extraire le sous-texte qui commence à la troisième position et s'arrête à la sixième position de l'état. nom, utilisez ce qui suit:
head (substr (nom de l'état, start = 3, stop = 6)) [1] "abam" "aska" "izon" "kans" "lifo" "lora" > Recherche par motif dans R
motif
-
: Le motif que vous voulez trouver. x
-
: Le vecteur de caractère que vous voulez rechercher. Supposons que vous vouliez trouver tous les états contenant le motif Nouveau. Faites comme ceci: >> grep ("Nouveau", nom de l'état) [1] 29 30 31 32
Le résultat de grep () est un vecteur numérique avec les positions de chacun des éléments qui contiennent le motif correspondant. En d'autres termes, le 29e élément de l'État. nom contient le mot
Nouveau.
état. nom [29] New Hampshire Ouf, ça a marché! Mais taper dans la position de chaque texte correspondant va être beaucoup de travail. Heureusement, vous pouvez utiliser les résultats de grep () directement pour sous-définir l'état original du vecteur: >>. name [grep ("New", state name)] [1] "New Hampshire" "New Jersey" [3] "Nouveau Mexique" "New York"
La fonction grep () est sensible à la casse - elle correspond uniquement texte dans le même cas (majuscule ou minuscule) que votre motif de recherche. Si vous recherchez le motif "nouveau" en minuscules, les résultats de votre recherche sont vides: état >>. nom [grep ("nouveau", état.nom)] caractère (0)
