2017-10-07 2 views
1

私はちょうどその部分文字列とデータテーブルの列の各値を置き換え、この機能を書いている:私はdplyrを使用するカスタム関数に列名を渡す方法は?

Error in as.character(x) : cannot coerce type 'closure' to vector of type 'character' 

今:

substrColName <- function(df, colName, start) { 
    df %>% mutate(colName = substr(colName, start=start, stop=nchar(colName))) 
} 

は、しかし、私はそれを実行してみてくださいたびに、私はエラーを取得しますなぜそれがうまくいかないのかについて多くの研究をしましたが、私はそれを理解できません。私は標準的な評価と怠惰でいくつかのものを読みましたが、私が試してみるものは何も動作していないようです。どんな助け?

おかげで素敵な読み取りでした

+0

はあなたが上の関数を実行したとのデータを提供することはできますか? – useR

+0

dplyrでプログラミングを学ぶにはhttps://cran.r-project.org/web/packages/dplyr/vignettes/programming.htmlをご覧ください。 – www

答えて

1

おかげで、@ycw、。この記事を手がけた後、今働いています。これは、一日の終わりに解決した:

substrColName <- function(df, colName, start) { 
    colNameQuo <- enquo(colName) 
    df %>% mutate(!!quo_name(colNameQuo) := substr(!!colNameQuo, start=start,stop=nchar(!!colNameQuo))) 
} 

And this is ycw's comment.

+0

あなた自身の答えを受け入れることができます:) – useR

関連する問題