【发布时间】:2011-07-26 02:55:44
【问题描述】:
我有一个数据框 df:
var1 var2
"test" "testing"
"esten" "etsen"
"blest" "estten"
现在我想删除df中的所有“t”来获取:
var1 var2
"es" "esing"
"esen" "esen"
"bles" "esen"
我该怎么做?
【问题讨论】:
我有一个数据框 df:
var1 var2
"test" "testing"
"esten" "etsen"
"blest" "estten"
现在我想删除df中的所有“t”来获取:
var1 var2
"es" "esing"
"esen" "esen"
"bles" "esen"
我该怎么做?
【问题讨论】:
使用gsub
dat <- c("test", "testing", "esten", "etsen", "blest", "estten")
gsub("t", "", dat)
[1] "es" "esing" "esen" "esen" "bles" "esen"
【讨论】:
您可以使用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
【讨论】:
sapply 周围包裹一个 data.frame() 才能返回 data.frame,对吧?