You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在自定义函数/包中调用expss包的%to%运算符?

解决expss包%to%运算符的调用问题

有两种可靠方式可在自定义函数或包中调用expss的%to%运算符:

方法一:将运算符赋值到当前环境

在函数开头把%to%运算符赋值到当前作用域,之后即可直接使用:

my_function <- function(data) {
  # 赋值运算符到当前环境
  `%to%` <- expss::`%to%`
  # 正常使用%to%
  data %>% 
    select(a %to% z)
}

方法二:使用do.call间接调用

若不想在环境中赋值运算符,可通过do.call间接调用:

my_function <- function(data) {
  # 间接调用%to%生成列范围
  cols <- do.call(expss::`%to%`, list("a", "z"))
  data %>% 
    select(all_of(cols))
}

包开发场景补充

如果是开发R包,建议在NAMESPACE文件中添加importFrom(expss, '%to%'),之后就能在包代码中直接使用%to%,无需重复赋值。

内容的提问来源于stack exchange,提问作者deschen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:01:24