r - 如何检查函数调用中的列是否为.numeric()?

标签 r

我正在尝试编写一个小测试来检查提供的列是否为数字

fun_df <- function(data,x){
   
  if(is.numeric(data$x){
    stop("done!")
  }
  print("did not pass")
}

fun_df(cars, dist)

什么是指定 is.numeric(data$x) 的最佳方式?我尝试了 {{x}}!!x。但我无法通过考试。我特别想指定 fun_df(cars, dist) 而不是 fun_df(cars, "dist")

最佳答案

使用deparse(substitute())

fun_df <- function(data,x) {
  xx <- deparse(substitute(x))
  if(is.numeric(data[[xx]])){
    stop("done!")
  }
  print("did not pass")
}
fun_df(iris, Sepal.Width)

Error in fun_df(iris, Sepal.Width) : done!

关于r - 如何检查函数调用中的列是否为.numeric()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69806040/

相关文章:

python - 如何抓取这个 squawka 页面?

r - 如何在不使用颜色或填充ggplot2的情况下对箱线图进行分组

r - 如何使用网格函数将y轴标题放在图形的左上角?

r - 在 RStudio 控制台中显示西里尔文

r - 如何使用 quanteda 引导文本可读性统计?

r - 基于多列组合 R 中的数据框行

r - 在 R 中使用 ROLLING 均值插补缺失值

r - ggplot : boxplot number of observations as x-axis labels

r - ** optimize **和** uniroot **有什么区别?

r - 在 R 扩展包中包含脚本文件