对于带有dplyr的管道,设置DT而不是as.data.table?

对于带有dplyr的管道,设置DT而不是as.data.table?,r,data.table,tibble,dtplyr,R,Data.table,Tibble,Dtplyr,我注意到dtplyr(于今年1月1.0.1发布)使用as.data.table将变量带回数据。table类型: 我是data.table的忠实粉丝和用户,多年来一直在dplyr中使用它,为此我自己编写了许多包装函数,这些函数现在是dtplyr的一部分 然而,我使用的是setDT,因为我认为它与data.table的思想相比更有效 所以我想知道为什么哈德利不使用它? 一般来说,当需要将data.frame(或tibble)转换为data.table时,使用这两种格式更有效的方法是什么?使用as.d

我注意到
dtplyr
(于今年1月1.0.1发布)使用
as.data.table
将变量带回
数据。table
类型:

我是data.table的忠实粉丝和用户,多年来一直在dplyr中使用它,为此我自己编写了许多包装函数,这些函数现在是
dtplyr
的一部分

然而,我使用的是
setDT
,因为我认为它与data.table的思想相比更有效

所以我想知道为什么哈德利不使用它?

一般来说,当需要将data.frame(或tibble)转换为data.table时,使用这两种格式更有效的方法是什么?

使用as.data.table是因为它保证了输入对象的副本;一般来说,这将比setDT慢,但是tidyverse原则需要不变性&因此避免更改输入对象。IIRC有一个选项可以禁用它,我忘记了头顶上的值,你可以检查vignetteas.data.table是否被使用,因为它保证了输入对象的副本;一般来说,这将比setDT慢,但是tidyverse原则需要不变性&因此避免更改输入对象。IIRC有一个选项可以禁用它,我忘记了我头顶上的值,你可以检查小晕图