码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • R语言实操记录——管道(|>, %>%, %T>%, %$% 和 %<>%)


    R语言

    R语言实操记录——管道(|>, %>%, %T>%, %$% 和 %<>%)


    文章目录

    • R语言
    • 一、R自带的管道( |> )
    • 二、R包magrittr提供的管道( %>%, %T>%, %$% 和 %<>% )
      • 2.1、%>% (向右操作符,forward-pipe operator)
      • 2.2、%T>%(向左操作符,tee operator)
      • 2.3、%$% (解释操作符,exposition pipe-operator)
      • 2.4、%<>% (复合赋值操作符,compound assignment pipe-operator)


    一、R自带的管道( |> )

    在R4.1以上版本加入了原生管道操作符"|>",如同Linux中的管道作用一致,将左侧的输出结果传递给右侧命令。

    二、R包magrittr提供的管道( %>%, %T>%, %$% 和 %<>% )

    R包magrittr提供的管道功能就显得丰富了很多。
    运用下列符号前需要先调用magrittr包

    install.packages("magrittr")
    library(magrittr)
    
    • 1
    • 2

    2.1、%>% (向右操作符,forward-pipe operator)

    • 定义:把左侧的数据或表达式,传递给右侧的函数调用或表达式进行运行,可以连续操作。

    在这里插入图片描述

    2.2、%T>%(向左操作符,tee operator)

    • 定义:功能和 %>% 基本是一样的,只不过它是把左边的值做为传递的值,而不是这一步计算得到的值。
    • 使用场景:比如,你在数据处理的中间过程,需要打印输出或图片输出,这时整个过程就会被中断,用向左操作符,就可以解决这样的问题。

    在这里插入图片描述

    2.3、%$% (解释操作符,exposition pipe-operator)

    • 定义:%$%的作用是把左侧数据的属性名传给右侧,让右侧的调用函数直接通过名字,就可以获取左侧的数据。比如,我们获得一个data.frame类型的数据集,通过使用 ,在右侧的函数中可以直接使用列名操作数据。
    • 示例:
    data.frame(x=1:10,y=rnorm(10),z=letters[1:10]) %$% .[x>5,]
    
    # 等同于
    
    df<-data.frame(x=1:10,y=rnorm(10),z=letters[1:10])
    df[df$x>5,]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 实现原理如下图所示,使用%$%把左侧的程序的数据集A传递右侧程序的B函数,同时传递数据集A的属性名,作为B函数的内部变量方便对A数据集进行处理,最后完成数据计算。

    在这里插入图片描述

    2.4、%<>% (复合赋值操作符,compound assignment pipe-operator)

    • 定义:%<>%复合赋值操作符, 功能与 %>% 基本是一样的,多了一项额外的操作,就是把结果写回到最左侧的对象(覆盖原来的值)。
    • 使用场景:比如,我们需要对一个数据集进行排序,那么需要获得排序的结果,用%<>%就是非常方便的。

    在这里插入图片描述

  • 相关阅读:
    Nginx监控模块vts
    解决eclipse中的Java文件,使用idea打开的乱码问题
    【ACWing 算法基础】KMP
    Wnt (wingless) / β-catenin通路中的小分子抑制剂 | MedChemExpress
    基于事件触发机制的孤岛微电网二次电压与频率协同控制MATLAB仿真模型
    JVM(Java虚拟机)
    TextCNN 实现股票时间序列预测(TensorFlow2版)
    SpringCloud-Eureka-介绍+非集群式搭建
    when calibrate the “gain, offset“ of the DN formula to radiance? cycle avoided?
    React: 组件介绍 Components
  • 原文地址:https://blog.csdn.net/qq_45794091/article/details/127770633
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号