Bonjour,
je galère pour modifier sous condition une valeur d'une cellule d'un dataframe.
J'ai importé un très gros fichier TXT avec des adresses postales mais malheureusement les départements 01à 09 sont numérotés de 1 à 9 dans le fichier source.
Je souhaiterai remettre au bon format. pour ce faire après l'import, je créé 4 colonnes (NCODEPOS et NDEPET qui reprennent les valeur de la colonne CODPOS et DEPET mais en format char et 2 colonnes qui me calculent la longueur de la chaine de chaque colonne).
Code :
A partir de là je veux modifier la valeur de la colonne NCODEPOS en ajoutant un 0 à la valeur lorsque la valeur de NBCARCODEPOS = 4 (exemple si NCODEPOS = 4560 , je veux la modifier à 04560).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 basecli <- mutate(basecli, NCODEPOS= as.character(CODPOS), NDEPET = as.character(DEPET), NBCARCODEPOS = str_length(CODPOS), NBCARDEPET = str_length(DEPET))
J'ai testé avec un if mais ça ne fonctionne pas, voici mon code :
Je n'ai pas de message d'erreur ni d'insulte mais je n'ai pas ma nouvelle colonne...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 library(readr) library(dplyr) library(dtplyr) library(stringr) basecli<- mutate(basecli, CODEPOS = ifelse((str_length(NBCARCODEPOS)==4 , str_c ("0", NBCARCODEPOS), NCODEPOS))
Pouvez-vous m'aider ? Comment je peux faire ? Ou si vous avez une autre solution.... merci.
PS : j'adapterais le code pour le département.
Partager