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)
它不起作用。有这个原因吗?
答案 0 :(得分:0)
您需要将其分配给以下列
y$b = col(y$b)
如果仅调用col(y$b)
,由于功能范围,即它不会将其存储在实际的数据帧y
中。 var
仅在函数col
中可用,因此,如果要将var
从函数col
中删除,则需要将其分配给局部变量