Je veux extraire le premier (ou le dernier) n caractères d'une chaîne. Ce serait l'équivalent de LEFT()
et RIGHT()
d'Excel. Un petit exemple:
# create a string
a <- paste('left', 'right', sep = '')
a
# [1] "leftright"
Je voudrais produire b
, une chaîne qui est égale aux 4 premières lettres de a
:
b
# [1] "left"
Que devrais-je faire?
Voir ?substr
R> substr(a, 1, 4)
[1] "left"
Le paquet stringr
fournit le str_sub
fonction, qui est un peu plus facile à utiliser que substr
, surtout si vous voulez extraire des parties correctes de votre chaîne:
R> str_sub("leftright",1,4)
[1] "left"
R> str_sub("leftright",-5,-1)
[1] "right"
Vous pouvez facilement obtenir les fonctions Right () et Left () à partir du package Rbase:
bonne fonction
right = function (string, char){ substr(string,nchar(string)-(char-1),nchar(string)) }
fonction gauche
left = function (string,char){ substr(string,1,char) }
vous pouvez utiliser ces deux fonctions personnalisées exactement comme left () et right () dans Excel. J'espère que vous le trouverez utile
Simplifiez-vous la vie et utilisez les fonctions de base R:
# To get the LEFT part:
> substr(a, 1, 4)
[1] "left"
>
# To get the MIDDLE part:
> substr(a, 3, 7)
[1] "ftrig"
>
# To get the RIGHT part:
> substr(a, 5, 10)
[1] "right"
La fonction substr()
vous indique où démarrer et arrêter substr(x, start, stop)