R-在udf中使用gsub

时间:2019-01-29 01:02:33

标签: r string gsub

im试图创建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)

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

1 个答案:

答案 0 :(得分:0)

您需要将其分配给以下列

y$b = col(y$b)

如果仅调用col(y$b),由于功能范围,即它不会将其存储在实际的数据帧y中。 var仅在函数col中可用,因此,如果要将var从函数col中删除,则需要将其分配给局部变量