我现在正在学习R中的dplyr
软件包,但是在了解这三个函数 - compute
,collect
和collapse
- 之后会发生什么。< / p>
我了解dplyr
内部不使用data.frame
类型;它会将其数据存储到自己的类型tbl
或tbl_df
。
然后,为了将自定义类型转换回R的默认data.frame
以使用data.frame
上的一组默认函数,您必须使用collect
,例如:
batting <- tbl(lahman_sqlite(), "Batting")
dim(collect(batting))
从2016年开始返回[1] 99846 22
,而dim(batting)
返回[1] NA 22
。
但是,我不确定其他两个函数 - compute
和collapse
- 是做什么的。如果您通过?collect
查看,则说明以下内容:
说明
'compute'强制计算延迟tbls,将数据保留在 远程源。 'collect'也强制计算,但会带来 数据返回R data.frame(存储在'tbl_df'中)。 '坍方' 不会强制计算,而是将复杂的tbl折叠成一个表单 可以施加额外的限制。
这是什么意思,特别是强制计算懒惰的tlbs ?
我想知道这些功能的作用,并想澄清一个人做了什么,其他人做了什么。
答案 0 :(得分:3)
来自dplyr vignettes之一:
强制计算查询有三种方法:
collect()
执行查询并将结果返回给R。
compute()
执行查询并将结果存储在临时中 数据库中的表。
collapse()
将查询转换为表格表达式。
collect()
是您最常用的功能。一旦你达到了这一组 您需要的操作,使用collect()
将数据拉入本地 tbl_df()。如果您了解SQL,则可以使用compute()
和collapse()
优化绩效。
如果这没有帮助,最好的办法是研究每个功能的源代码。您可以在此处查看有关如何执行此操作的说明:How do I see the help for the `dplyr::collect` method?