Regexpr - expressions régulieres? (Résolu)

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Anais Payen
Messages : 60
Enregistré le : 25 Fév 2019, 08:50

Regexpr - expressions régulieres? (Résolu)

Messagepar Anais Payen » 18 Juin 2019, 14:00

Bonjour à tous,

Je rencontre actuellement un problème que je n'arrive pas à solutionner.

J'ai un df de cette forme :

Code : Tout sélectionner

   classe_atc                                                      code_atc nb_cp_pb chron_autre_2
   <chr>                                                           <chr>    <chr>            <int>
 1 ACETYLLEUCINE                                                   N07CA04  90                   2
 2 ACETYLSALICYLIQUE ACIDE                                         B01AC06  30                   2
 3 AMOXICILLINE                                                    J01CA04  12                  -1
 4 AUTRES MEDICAMENTS POUR LES TROUBLES DE L'ACIDITE               A02X     30                   2
 5 BETAMETHASONE                                                   H02AB01  20                   2
 6 BUDESONIDE                                                      R03BA02  NA-40-4              4
 7 CALCIUM EN ASSOCIATION AVEC VITAMINE D ET/OU AUTRES MEDICAMENTS A12AX    30                   2
 8 CHLORHEXIDINE EN ASSOCIATION                                    D08AC52  NA                  -1
 9 CLARITHROMYCINE                                                 J01FA09  10                   2
10 COLECALCIFEROL                                                  A11CC05  NA                  -1
11 GADOBUTROL                                                      V08CA09  NA                  -1
12 GLICLAZIDE                                                      A10BB09  30                   2
13 HELICIDINE                                                      R05DB    NA                  -1
14 HOMEOPATHIE                                                     WHOMEO   1                   -1
15 IRBESARTAN                                                      C09CA04  30                   2
16 LEVODOPA ET INHIBITEUR DE LA DECARBOXYLASE                      N04BA02  60                   1
17 LEVOTHYROXINE SODIQUE                                           H03AA01  30                   2
18 LORATADINE                                                      R06AX13  15                   2
19 OXOMEMAZINE                                                     R06AD08  NA                  -1
20 PARACETAMOL                                                     N02BE01  8                    1


et je souhaiterai que lorsque dans ma colonne nb_cp_pb il y a 84 ou 90, ce soit détecté même si c'est écrit sous la forme "NA-90" ou "28-8-84"

J'ai donc utilisé regexpr :

Code : Tout sélectionner

df$chron_autre_2 <- regexpr(pattern="[84-90]", text = as.character(df$nb_cp_pb))


Je pensais que cela me permettait de chercher tous les chiffres compris entre 84 et 90, car je ne voulais pas faire 2 lignes de codes. Mais il semblerait que cela ne soit pas le cas! en effet, il me met -1 lorsque le critère n'est pas rempli, mais je ne comprends pas pourquoi j'ai des scores positifs même là ou il n'y a pas la bonne réponse

Quelqu'un aurait-il une idée pour me faire avancer?


Merci d'avance !

Bonne journée

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Regexpr - expressions régulieres?

Messagepar Pierre-Yves Berrard » 18 Juin 2019, 14:58

Bonjour,

Pour chercher 84 ou 90 : "(84|90)"
Pour chercher de 84 à 90 : "(8[4-9]|90)"
PY

Anais Payen
Messages : 60
Enregistré le : 25 Fév 2019, 08:50

Re: Regexpr - expressions régulieres?

Messagepar Anais Payen » 18 Juin 2019, 15:09

Pierre-Yves Berrard a écrit :Bonjour,

Pour chercher 84 ou 90 : "(84|90)"
Pour chercher de 84 à 90 : "(8[4-9]|90)"



Comme d'habitude, problème résolu :)

Merci encore !

Jean-Emmanuel Longueville
Messages : 310
Enregistré le : 23 Fév 2011, 08:03

Re: Regexpr - expressions régulieres?

Messagepar Jean-Emmanuel Longueville » 20 Juin 2019, 08:47

Dans ce cas merci de le mettre dans le titre en éditant le premier message :)
Jean-Emmanuel
Ingénieur d'étude LNEC


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité

cron