首页 > 解决方案 > 如何使用 R 中的算术表达式改变数据集

问题描述

我想使用 R 中的算术表达式动态改变数据集。我尝试跟随但没有成功。感谢一些帮助。

newCol <- 'newCol=gear+wt'

mutate(mtcars,!!newCol) ## This inserted a column newCol=gear+wt

mutate(mtcars,!!sym(newCol)) ## THis gives an error 

'mutate_impl(.data, dots) 中的错误:找不到绑定:newCol=gear+wt。'

标签: rdplyr

解决方案


这是dplyr评估不规范的问题。

先引用你的表达,然后取消引用。

newCol <- quo(gear + wt)

dplyr::mutate(mtcars, !! newCol)

这个在这里非常有帮助:https ://dplyr.tidyverse.org/articles/programming.html

值得一读,很棒:)


推荐阅读