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

举报
格图洛书 发表于 2021/12/17 00:36:14 2021/12/17
【摘要】 1总述 在许多其他编程语言中,for 循环是非常重要的。然而,R是一种函数式编程语言,这意味着R有能力 "将for循环包裹在一个函数中,并调用该函数而不是直接使用for循环"。 熟悉R语言的人都很熟悉基础R中的apply系列函数(即apply(), vapply(), lapply())。这些函数虽然非...

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()的一个变种,允许你将一个有多个参数的函数应用到一个向量上。

文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。

原文链接:wenyusuran.blog.csdn.net/article/details/121848909

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。