yue*_*uez 5 r dplyr data.table
我一起使用 data.table 和 dplyr。我最近注意到 dplyr::group_by 也可以将 key 设置为 data.table 对象。
# R version 3.1.0
library(data.table) # 1.9.2
library(dplyr) # 0.1.3
dt <- data.table(A=rep(c("a", "b"), times=c(2, 3)), B = rep(1, 5))
tables()
# NAME NROW MB COLS KEY
# [1,] dt 5 1 A,B
# Total: 1MB
group_by(dt, A)
tables()
# NAME NROW MB COLS KEY
# [1,] dt 5 1 A,B A
# Total: 1MB
Run Code Online (Sandbox Code Playgroud)
我想知道为什么会发生这种情况。这是故意的吗?据我所知,Hadley 正试图使 dplyr 与 data.table 兼容。
(如果可能的话,我也想知道 key 在 data.table 中是如何实现的。很好奇为什么 setkey 可以就地改变它?)
谢谢
根据 G. Grothendieck 的要求:
library(data.table)
dt <- data.table(A = rep(c("a", "b"), times=c(2, 3)),
B = rep(1, 5))
dplyr::group_by(dt, A)
# Source: local data table [5 x 2]
# Groups: A
#
# Error in if (is.na(rows) || rows > getOption("dplyr.print_max")) { :
# missing value where TRUE/FALSE needed
tables()
# NAME NROW MB COLS KEY
# [1,] dt 5 1 A,B A
# Total: 1MB
Run Code Online (Sandbox Code Playgroud)
我经常使用这两个包,我想知道所有细节以避免错误。