web-dev-qa-db-fra.com

R - comment remplacer des parties de chaînes variables dans un bloc de données

J'ai un dataframe df:

var1 var2
"test" "testing"
"esten" "etsen"
"blest" "estten"

Maintenant, je veux supprimer tous les "t" dans df pour obtenir:

var1 var2
"es" "esing"
"esen" "esen"
"bles" "esen"

Comment je fais ça?

26
user670186

Utilisez gsub

dat <- c("test", "testing", "esten", "etsen", "blest", "estten")

gsub("t", "", dat)
[1] "es"    "esing" "esen"  "esen"  "bles"  "esen" 
42
Chase

Vous pouvez le faire avec gsub et en utilisant sapply pour l'appliquer par variable:

df <- data.frame( 
    var1 = c("test","esten","blest"),
    var2 = c("testing","etsen","esttem"))

df2 <- as.data.frame(sapply(df,gsub,pattern="t",replacement=""))
df2
  var1  var2
1   es esing
2 esen  esen
3 bles  esem
29
Sacha Epskamp