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