R语言问题剖析20篇-R语言泛函式编程purrr实现优雅循环迭代
Posted 文宇肃然
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言问题剖析20篇-R语言泛函式编程purrr实现优雅循环迭代相关的知识,希望对你有一定的参考价值。
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实现优雅循环迭代的主要内容,如果未能解决你的问题,请参考以下文章
R语言ggplot2可视化:使用purrr包的map函数基于嵌套的dataframe数据绘制多个可视化图像(包含3个子图)
R语言ggplot2可视化:使用purrr包的map函数基于嵌套的dataframe数据绘制多个可视化图像(包含2个子图)
R语言使用fs包的dir_ls函数批量获取指定文件路径下的多个文件名称使用purrr包的map_df函数批量读入多个tsv文件生成合并的dataframe(csv类似)