2011-03-30 52 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