[英]How to pass a column name as an argument of a function which uses dplyr, without passing it as a string?
[英]How to pass a column name into a custom function, which uses dplyr?
我已經編寫了這個函數,它只是用它的子字符串替換了數據表列中的每個值:
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 的內容,但我嘗試的任何內容似乎都不起作用。 有什么幫助嗎?
謝謝
謝謝,@ycw,讀得不錯。 在完成這篇文章后,它現在可以工作了。 這是一天結束時的解決方案:
substrColName <- function(df, colName, start) {
colNameQuo <- enquo(colName)
df %>% mutate(!!quo_name(colNameQuo) := substr(!!colNameQuo, start=start,stop=nchar(!!colNameQuo)))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.