2011-03-30 27 views
23

我有一个数据帧DF之内更换变量字符串的部分:的R - 如何将数据帧

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

现在我想删除所有“T”内DF获得:

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

如何我要这样做吗?

回答

34

使用gsub

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

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

你可以用gsub做到这一点,利用sapply每变量运用它:

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 
+0

+1你2分钟,速度更快! =) – aL3xa 2011-03-30 13:51:09

+0

我认为你需要在'sapply'周围包装一个'data.frame()'来返回一个data.frame,对吧? – Chase 2011-03-30 13:59:11

+0

确实,很好的抓住:) – 2011-03-30 14:02:26