【问题标题】:R- using gsub in a udfR-在udf中使用gsub
【发布时间】:2019-01-29 01:02:32
【问题描述】:

我试图创建一个 udf 来查找和替换几个数据帧中的一堆不同的字符串。示例:

x <- data.frame(a = c("AA","BB","CC"))
y <- data.frame(b = c("AB","BC","CD"))

如果我手动拨打电话(如下所示),效果很好

x$a %<>% 
  gsub("A", "", .) %>% 
  gsub("B", "", .)

给我 - 分别是("", "", "CC")("","C","CD")

但如果我像这样在 UDF 中这样做:

col <- function(var) {
var %<>% 
  gsub("A", "", .) %>% 
  gsub("B", "", .)
}

col(x$z)

它不起作用。这是有原因的吗?

【问题讨论】:

    标签: r string gsub


    【解决方案1】:

    您需要将其分配给下面的列

    y$b = col(y$b)
    

    如果你只是调用col(y$b),由于函数作用域,它不会将它存储在实际的数据帧y 中,即。 var 仅在函数 col 中可用,因此如果您想将 var 从函数 col 中取出,则需要将其分配给局部变量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 2011-06-29
      • 2016-06-09
      • 1970-01-01
      相关资源
      最近更新 更多