提示:迭代purrr的map_df函数

信息世界|2018年7月12日

在用R做更多事情的第六集中,学习如何将函数应用到值向量并返回数据帧

版权©2018Raybet2

大家好,我是Sharon Machlis, IDG Communications数据分析编辑总监。我在这里与第6集做更多与R:迭代与purrr的map_df()函数。
将一个函数应用于许多不同的值是编程中最常见的任务之一。在大多数语言中,你通常会使用for循环。你可以用R编写循环代码,但是大多数R程序员使用某种迭代函数来代替。
基底R有一系列的应用函数:应用,l-应用,s-应用,v-应用。它们确实有效,但使用起来可能会令人困惑。
当前迭代的tidyverse方法是使用purrr包的映射函数。map的便利之处在于,它可以很直观地指定您想要的结果类型。map()生成一个列表。地图下划线D.F.给你一个数据框。创建一个整数向量。等等。今天,我想向大家展示map_df。
我有三个CSV文件,每个都有纽约机场的延误信息。我想创建一个数据框架从导入所有三个文件。
任何映射函数的格式都是map(数据、函数以及您希望传递给该函数的任何其他参数)。
我将加载purrr包和dplyr,因为我总是加载dplyr;然后用list.files读取我的数据目录中的所有文件。所有的文件名现在都在myfiles变量中。
看这里的map_df: myfiles是数据(文件名的向量),read.csv是函数,然后strings as factors = false是我传递的附加参数。
就这样,我从文件中获得了所有数据在一个数据帧中。
这是一个非常简单的例子。对于更复杂的操作,映射函数有不同的公式格式。下面是使用map公式语法时的相同情况:
微妙的差异。这里有map_df,数据,一个逗号,然后一个波浪号——表示“下面是一个公式”。然后可以编写代码对数据中的每个项进行操作,使用点表示该项。
你可以用purrr做更多的事情。Map2函数一次遍历两个相同大小的列表或向量。Walk函数与map做同样的事情,但不返回值,比如将数据保存到磁盘或打印结果。如果你想了解更多,在Rstudio . com上有一段夏洛特·威克汉姆的深入教程的录音——使用搜索,寻找purrr教程。purrr的网站在purrr。tidyverse。org。记住,purrr在purrr包中有三个r。
这就是本期节目的全部内容,谢谢收看!想要了解更多的R技巧,请访问bit.ly/morewithR的more With R视频页面。这是https B I T句点L Y斜杠更多的R,所有小写除了R。再见,希望下集再见!
受欢迎的
来自IDG.tv的特色视频