我正在尝试编写一个小测试,它将检查提供的列是否为数字
fun_df <- function(data,x){
if(is.numeric(data$x){
stop("done!")
}
print("did not pass")
}
fun_df(mtcars, dist)
什么是指定is.numeric(data$x)
的最佳方法?我尝试了{{x}}
,!!x
。但我无法获得测试通过。我特别想指定fun_df(cars, dist)
而不是fun_df(cars, "dist")
3条答案
按热度按时间kuuvgm7e1#
使用
deparse(substitute())
。tv6aics12#
**更新:**见注解:
我们不需要替代品:我们只能使用列名:
**第一个答案:**另外,我们可以使用
{{}}
:(感谢Deschen解决了括号问题(+1):q3aa05253#
1.函数中缺少一个封闭括号。
1.你可能想做一个if else组合。
1.如果您打开了变量名作为字符向量传递,则以下操作有效: