J'ai un vecteur de caractère et je cherche une sortie me donnant l'index du dernier espace blanc p> < Pré> xxx pré> Je crois que je dois utiliser sappely afin que ma fonction s'applique à chaque élément du vecteur, mais incapable d'écrire cela: p> Pour qui donne naturellement tout Je ne veux pas utiliser x code> comme
myfunction code> J'écris quelque chose comme: p>
na code> car aucun élément n'est un espace uniquement. < / p>
stringr code> pour cela. p> p>
6 Réponses :
Un moyen d'utiliser prenons le dernier élément de la liste: P> MAPPLY code> est de scinder les caractères sur WhitSpace, calculez le nombre de caractères du dernier élément et soustrayez-le à partir du total des caractères de la chaîne.
x <- c("Mt. Everest", "Cho oyu" ,"Mont Blanc", "Ojos del Salado")
Merci @ronak, fonctionne bien, pouvez-vous s'il vous plaît expliquer moi la logique à l'intérieur de Mapply?
@Deep a mis à jour la réponse avec quelques explications.
ou p> regexpr code> fera ...
REGEXPR donne: [1] 4 4 5 9 attr (, "match.length") [1] 8 4 6 7 attr (, "index.type") [1] "Charrs" attr ("utilbytes") [1 ] VRAI
@Deep c'est correct ... Un vecteur entier avec quelques attributs ... Avez-vous lu le fichier helpfile? RegexPR renvoie un vecteur entier de la même longueur que le texte donnant la position de départ de la première correspondance ou -1 s'il n'y en a aucun code>
Vous pouvez atteindre cet article en utilisant si vous souhaitez que votre réponse soit un vecteur p> gregexpr code>
@Markus: Oui, votre solution est meilleure. Merci. Je vais éditer pour refléter cela.
Vous pouvez également essayer avec grepraw () code>:
dplyr code>: p>
une alternative simple et concise