提示:使用purrr的map_df函数进行迭代

信息世界|2018年7月12日

在第六集Do More with R中,学习如何将函数应用于值向量并返回数据帧

版权©2018足球竞彩网下载

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