2 votes

Comment ajouter une valeur particulière à une position particulière dans les lignes d'une colonne spécifique ?

Comment ajouter une valeur particulière à une position particulière dans les lignes d'une colonne spécifique ? J'ai une colonne appelée ID :

ID
subject01_1
subject01_2
subject01_3
...

Je dois ajouter un zéro après le soulignement pour tous les sujets :

ID
subject01_01
subject01_02
subject01_03
subject01_04
...

3voto

Quinten Points 454

Vous pouvez utiliser le code suivant pour ajouter un 0 après le _ con gsub :

df <- read.table(text = "ID
subject01_1
subject01_2
subject01_3", header = TRUE)

df$ID <- gsub("\\_(\\d+)", "\\_0\\1", df$ID)
df
#>             ID
#> 1 subject01_01
#> 2 subject01_02
#> 3 subject01_03

Créé le 2022-09-25 avec reprex v2.0.2

3voto

akrun Points 148302

Utilisation de sprintf

library(dplyr)
library(stringr)
df1 %>%
    mutate(ID = str_replace(ID, "\\d+$",
        function(x) sprintf("%02d", as.numeric(x))))

-sortie

   ID
1 subject01_01
2 subject01_02
3 subject01_03

données

df1 <- structure(list(ID = c("subject01_1", "subject01_2", "subject01_3"
)), class = "data.frame", row.names = c(NA, -3L))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X