现在我正在学习dplyr包R,但在了解这三个功能是什么砸墙- compute,collect和collapse-做.
据我所知,内部dplyr不使用该类型data.frame; 它将数据存储到自己的类型tbl或tbl_df.
然后,为了将自定义类型转换回R的默认值data.frame以使用一组默认函数data.frame,您必须使用collect,例如:
batting <- tbl(lahman_sqlite(), "Batting")
dim(collect(batting))
Run Code Online (Sandbox Code Playgroud)
这将[1] 99846 22在2016年dim(batting)返回,同时返回[1] NA 22.
但是,我不确定其他两个功能compute和collapse- 做什么.如果您查看?collect,文档说如下:
描述:
'compute'强制计算延迟tbls,将数据留在远程源中.'collect'也强制计算,但会将数据带回R data.frame(存储在'tbl_df'中).'collapse'不强制计算,而是将复杂的tbl折叠成可以放置其他限制的形式.
这是什么意思,特别强制计算懒惰的tlbs?
我想知道这些功能的作用,并希望澄清一个人做了什么,其他人做了什么.
有三种方法可以强制计算查询:
collect()执行查询并将结果返回给 R。
compute()执行查询并将结果存储在数据库的临时表中。
collapse()将查询转换为表表达式。
collect()是您最常使用的功能。一旦达到所需的操作集,就可以collect()将数据拉入本地 tbl_df()。如果您了解 SQL,则可以使用compute()和collapse()来优化性能。
如果这没有帮助,最好的办法可能是研究每个函数的源代码。您可以在此处查看有关如何执行此操作的说明:如何查看 `dplyr::collect` 方法的帮助?