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

R 4.1及以上版本中magrittr别名的原生等效写法是什么?

R 4.1+ 原生管道对应magrittr别名的写法

magrittr包的多数别名本质是对R基础运算符或函数的封装,在R 4.1及以上版本中,借助原生正向管道|>结合基础语法就能实现相同效果,无需依赖magrittr。以下是常见别名的对应原生写法:

  • 乘法(multiply_by):
    magrittr写法:1 %>% magrittr::multiply_by(2)
    原生写法:1 |> *(2) 或更直观的匿名函数写法 1 |> (\(x) x * 2)()

  • 除法(divide_by):
    magrittr写法:6 %>% magrittr::divide_by(2)
    原生写法:6 |> /(2) 或 6 |> (\(x) x / 2)()

  • 加法(add):
    magrittr写法:3 %>% magrittr::add(4)
    原生写法:3 |> +(4) 或 3 |> (\(x) x + 4)()

  • 减法(subtract):
    magrittr写法:5 %>% magrittr::subtract(2)
    原生写法:5 |> -(2) 或 5 |> (\(x) x - 2)()

  • 取余(mod):
    magrittr写法:7 %>% magrittr::mod(3)
    原生写法:7 |> %%(3) 或 7 |> (\(x) x %% 3)()

  • 幂运算(raise_to_power):
    magrittr写法:2 %>% magrittr::raise_to_power(3)
    原生写法:2 |> ^(3) 或 2 |> (\(x) x ^ 3)()

  • 逻辑与(and):
    magrittr写法:TRUE %>% magrittr::and(FALSE)
    原生写法:TRUE |> &(FALSE) 或 TRUE |> (\(x) x & FALSE)()

  • 逻辑或(or):
    magrittr写法:FALSE %>% magrittr::or(TRUE)
    原生写法:FALSE |> |(TRUE) 或 FALSE |> (\(x) x | TRUE)()

  • 提取子集(extract):
    magrittr写法:c(1,2,3) %>% magrittr::extract(2)
    原生写法:c(1,2,3) |> [(2) 或 c(1,2,3) |> (\(x) x[2])()

核心逻辑:magrittr的这些别名都是对原生运算符/函数的包装,用原生管道时,直接将左值作为第一个参数传入对应的原生运算符(用反引号包裹为函数形式),或用简洁的匿名函数实现即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 12:18:08