1总述

在许多其他编程语言中,for 循环是非常重要的。然而,R是一种函数式编程语言,这意味着R有能力 "将for循环包裹在一个函数中,并调用该函数而不是直接使用for循环"。

熟悉R语言的人都很熟悉基础R中的apply系列函数(即apply()vapply()lapply())。这些函数虽然非常有用,但在实际应用中可能不一致,会使得理解/使用很困难。

引用张敬信老师的说法: " 用 R 写 「循环」 从低到高有三种境界:手动 for 循环,apply 函数族,purrr 包泛函式编程。"

这就是purrr函数出现的意义。类似于基础R的apply函数,这些函数允许你将一个函数应用于一个向量的所有元素。这个包的建立考虑到了一致性,使得它比其对应的apply函数更容易学习和使用。此外,这个库是tidyverse的一部分,因此可以与tidyverse的所有其他函数一起使用。

purrr包中有许多不同的功能。本文将重点解释两个。

  • purrr:map() - 这个函数允许你将一个带有单个参数的函数应用于一个向量。

  • purrr:pmap() - 这个函数是map()的一个变种,允许你将一个有多个参数的函数应用到一个向量上。

R语言问题剖析20篇(一)-R语言泛函式编程purrr实现优雅循环迭代相关推荐

  1. c语言深度剖析百度云,《C语言深度剖析》笔记

    <C语言深度剖析>笔记 1.在c语言中,凡不加返回值类型限定的函数,就会被编译器作为返 回整形处理. 2.register 变量必须是一个单个的值,并且其长度应小于或等于整型 的长度.而且 ...

  2. java9 反应编程_Java9第四篇-Reactive Stream API响应式编程

    file 我计划在后续的一段时间内,写一系列关于java 9的文章,虽然java 9 不像Java 8或者Java 11那样的核心java版本,但是还是有很多的特性值得关注.期待您能关注我,我将把ja ...

  3. Go语言基础(一篇上手go语言基本语法)

    Go简介 Go语言的创始人有三位,分别是图灵奖获得者.C语法联合发明人.Unix之父肯·汤普森(Ken Thompson).Plan 9操作系统领导者.UTF-8编码的最初设计者罗伯·派克(Rob P ...

  4. 为什么金融分析需要应用python语言_python入门第一篇:python语言简介

    四.Python发展史 1989年,Guido开始写Python语言的编译器. 1991年,第一个Python编译器诞生.它是用C语言实现的,并能够调用C语言的库文件.从一出生,Python已经具有了 ...

  5. 奥鹏20春在线作业c语言,电子科20春《C语言(专科)》在线作业3答案

    试卷总分:100  得分:100 一.单选题 (共 20 道试题,共 100 分) 1.已知intb;则对指针变量p正确的说明和初始化是:() A.intp=b; B.intp=&b; C.i ...

  6. 如何学习c语言 零基础20天学会C语言

    C语言开发 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通.如何以最小的代价学习并精通C语言是本文的主题.请注意,即使是"最小的代价",也绝不是什么捷径,而是以最短的 ...

  7. 《C语言深度剖析》学习笔记----C语言中的符号

    本节主要讲C语言中的各种符号,包括注释符.单引号双信号以及逻辑运算符等. 一.注释符 注释符号和注释在程序的预编译期就已经被解决了,在预编译期间,编译器会将注释符号和注释符号之间的部分简单的替换成为空 ...

  8. 【C语言深度剖析】深入理解C语言中的移位操作符(代码+图解)

    文章目录 移位操作符 原码 反码 补码 左移操作符 正数左移 负数左移 右移操作符 算术右移 正数算术右移 负数算术右移 逻辑右移 移位操作符 分为: 左移操作符:<< 右移操作符:> ...

  9. R语言学习笔记——高级篇:第十四章-主成分分析和因子分析

    R语言 R语言学习笔记--高级篇:第十四章-主成分分析和因子分析 文章目录 R语言 前言 一.R中的主成分和因子分析 二.主成分分析 2.1.判断主成分的个数 2.2.提取主成分 2.3.主成分旋转 ...

最新文章

  1. 搭建dubbo项目解决dubbo.xml标签报错的问题
  2. ZOJ-2571 Big String Outspread 模拟
  3. java jeditorpane 自动换行_JDIC 中利用WebBrowser内置浏览器到java application中 | 学步园...
  4. Chapter 1 First Sight——25
  5. SPI接口比IIC速度快的理解
  6. HDU 4609 3-idiots(FFT)
  7. Java SimpleTimeZone setEndRule()方法与示例
  8. ibatis 数据库获取不到 java_如何拦截ibatis中所有的执行sql,并记录进数据库
  9. systemctl 管理服务命令
  10. 输入一个数求其倒数c语言,C语言答案(1)
  11. 计算机主板型号尺寸,10大华硕主板型号简介,组装电脑的朋友可别错过
  12. GNSS数据处理(二)——GAMP_GOOD操作说明
  13. POI多个Sheet生成Excel
  14. 汽车门店管理系统 php,大型汽车4s店维修管理系统多门店版(源码+数据库+截图)...
  15. WindowsCluster 由于在更新安全DNS区域时访问被拒绝,群集网络资源无法注册一个或多个关联的DNS名称
  16. 宏基掠夺者圣盾5000、圣盾3000 评测
  17. 纯视觉3D目标检测新SOTA!STS:基于Camera的深度估计新方法
  18. Java后端学Android(13)-使用网络技术
  19. Java笔试总结(选择题)
  20. 玩转STM32F0 Value Line Discovery 之 深入理解 SYSTICK定时器

热门文章

  1. Visual Studio使用技巧,创建自己的代码片段
  2. 轻松删除所有安装的gem
  3. IT人士,你的知识需要管理。
  4. KingFly独家爆料!网络赚黑钱,你安心吗?(气愤)
  5. GARFIELD@09-21-2004
  6. BLE Mesh(1)—— 简述
  7. make -j 的并行任务个数选择
  8. PAT甲级1097 Deduplication on a Linked List:[C++题解]遍历链表、两个vector
  9. Kattis-What does the fox say 字符串处理+STL
  10. ios怎么玩java模拟器游戏_新方式玩iOS手游 水果模拟器让电脑运行苹果iOS