Bonjour,
J'ai une table (data.table "source") de 185000 observations
Elle comporte, entre autres, les colonnes code_postal_salarie et complement_no_adresse_salarie (cette dernière étant souvent non renseignée)
Je souhaiterais utiliser une fonction de renommage de colonnes qui prenne en argument les colonnes à renommer (vecteur "OLD") et les nouveaux noms à attribuer aux colonnes (vecteur "NEW").
J'ai donc écrit cette fonction :
qui fonctionne correctement, en l'appliquant à la table initiale dont je ne conserve que quelques colonnes (code_postal_salarie,rue_adresse_salarie,id_integral,complement_no_adresse_salarie,code_voie_salarie):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 renommer_colonnes <- function(table,old,new){ colnames(table)[colnames(table) %in% old] <- new return(table) }
... mais plus du tout en prenant la table initiale avec toutes ses colonnes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 old <- c("code_postal_salarie", "complement_no_adresse_salarie") new <- c("code_postal", "compladr") s <- source[,.(code_postal_salarie,rue_adresse_salarie,id_integral,complement_no_adresse_salarie,code_voie_salarie)] s2 <- renommer_colonnes(s, old, new) head(s2,3)
Dans ce dernier cas, il y a une interversion du renommage : tout semble se passer comme si code_postal_salarie était renommé en compladr, et complement_no_adresse_salarie en code_postal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 s2 <- renommer_colonnes(source, old, new)
Partager