-1
votes

Remplacer plusieurs valeurs dans une colonne avec de nouvelles valeurs

J'ai une table avec une colonne qui contient des données dans semaine_month_year format xxx pré>

Je veux remplacer les valeurs de la table avec un nom W1 et mois, comme P>

W1_Jan_2014
W1_Feb_2014
xxxxxxx
yyyyyyy


3 commentaires

Salut Shivam Sarin. Veuillez lire les informations sur Comment poser une bonne question et comment donner un EXEMPLE REPRODUCIBLEMINIMALE . De cette façon, vous pouvez aider les autres à vous aider!


Qu'est-ce que tu racontes? Demander un MRE n'est pas "moi étant sur un cheval de haut cheval" ...


De plus, je ne comprends pas vraiment votre point: plusieurs personnes ont commenté le manque d'informations, mais vous décidez de vous attaquer, même si j'ai partagé des liens utiles pour vous aider à améliorer votre question ?! Merci mon pote...


3 Réponses :


0
votes

Vous posez réellement plusieurs questions. XXX


1 commentaires

Bonjour, merci pour la solution, mais je suis désolé de ne pas voir comment se pose-t-il de multiples questions. Mon jeu de données est comme ça. Comment demanderiez-vous si vous deviez résoudre le même problème?



2
votes

Il serait bon de disposer de plus d'informations sur les valeurs qui ne devaient pas être modifiées car les éléments ci-dessous peuvent être suffisamment complexes ou non complexes, mais vous pouvez essayer:

library(stringr)
library(dplyr)

vec <- c("1_1_2014",
         "1_2_2014",
         "2_3_2015",
         "5_7_2019",
         "XXXXXXX",
         "YYYYYYY")

if_else(str_detect(vec, "\\d_\\d+_"), paste0("W", str_replace(vec, "(?<=_)\\d+(?=_)", function(x) month.abb[as.numeric(x)])), vec)

[1] "W1_Jan_2014" "W1_Feb_2014" "W2_Mar_2015" "W5_Jul_2019" "XXXXXXX"     "YYYYYYY"


2 commentaires

C'est probablement la solution la plus robuste. +1


Bonjour, merci pour la solution, je ne peux pas partager plus d'informations car ce sont des données sensibles, alors j'ai mentionné que la table contient plus de valeurs à part les données W_M_YEAR et que plus d'un million de lignes sont plus importantes. Par conséquent n'a pas partagé plus.



3
votes

ou une solution de base simple R: xxx


0 commentaires