我已经编写了这个函数,它只是用子字符串替换了数据表列中的每个值:
substrColName <- function(df, colName, start) {
df %>% mutate(colName = substr(colName, start=start, stop=nchar(colName)))
}
但每次我尝试运行它都会收到错误:
Error in as.character(x) : cannot coerce type 'closure' to vector of type 'character'
现在我已经做了很多研究,为什么它不会起作用,但我无法弄明白。我已经通过标准评估和lazyeval阅读了一些内容但我尝试的任何内容似乎都没有用。有什么帮助吗?
由于
答案 0 :(得分:2)
谢谢@ycw,这是一个很好的阅读。在完成这篇文章之后,现在就开始工作了。这是当天结束时的解决方案:
substrColName <- function(df, colName, start) {
colNameQuo <- enquo(colName)
df %>% mutate(!!quo_name(colNameQuo) := substr(!!colNameQuo, start=start,stop=nchar(!!colNameQuo)))
}