Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 依赖作为函数参数传递的表中的列名是一种不好的做法吗?_R_Conventions - Fatal编程技术网

R 依赖作为函数参数传递的表中的列名是一种不好的做法吗?

R 依赖作为函数参数传递的表中的列名是一种不好的做法吗?,r,conventions,R,Conventions,主要谈论R 依赖作为函数参数传递的data.frame或tible中存在的特定列名是一种不好的做法吗?或者函数是否也应接受相关列名作为参数 是否有任何广泛使用的库遵循此约定?我认为,在有理由期望输入符合规范的情况下,这是可以的。特别是在面向小受众的软件包中,当输入不会发生变化时,花大量时间开发一个非常通用的功能是没有意义的 如果您需要在将来扩展函数的通用性,请考虑(a)在函数的参数中接受其他变量名称,默认为当前名称,或者(b)一些更具野心的,如 如果变量是硬编码的,考虑使用类似的东西。您可以为用

主要谈论R

依赖作为函数参数传递的data.frame或tible中存在的特定列名是一种不好的做法吗?或者函数是否也应接受相关列名作为参数


是否有任何广泛使用的库遵循此约定?

我认为,在有理由期望输入符合规范的情况下,这是可以的。特别是在面向小受众的软件包中,当输入不会发生变化时,花大量时间开发一个非常通用的功能是没有意义的

如果您需要在将来扩展函数的通用性,请考虑(a)在函数的参数中接受其他变量名称,默认为当前名称,或者(b)一些更具野心的,如

<>如果变量是硬编码的,考虑使用类似的东西。您可以为用户提供更好的上下文,但我更喜欢为较小的受众提供checkmate

lm_nonmissing_only <- function( d, predictor_name="x" ) {
  checkmate::assert_numeric(d[[predictor_name]], any.missing = F)
  checkmate::assert_numeric(d$y                , any.missing = F) # This variable name is still hard-coded

  lm(d$y ~ d[[predictor_name]])
}
lm\u仅限非缺失