【问题标题】:R - how to replace parts of variable strings within data frameR - 如何替换数据框中的部分变量字符串
【发布时间】: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"

我该怎么做?

【问题讨论】:

    标签: r replace dataframe


    【解决方案1】:

    使用gsub

    dat <- c("test", "testing", "esten", "etsen", "blest", "estten")
    
    gsub("t", "", dat)
    [1] "es"    "esing" "esen"  "esen"  "bles"  "esen" 
    

    【讨论】:

    • 非常适合我!请注意,gsub 的第一个参数是 正则表达式模式,而不是纯字符串。
    【解决方案2】:

    您可以使用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,对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 2022-01-03
    • 2017-09-09
    • 2012-12-30
    • 2017-07-08
    相关资源
    最近更新 更多