对于为什么我使用以下代码得到两个不同的结果,我感到有些困惑。
DT <- data.table(x=1:6,
y=rnorm(6),
group=factor(c("A", "B", "C", "C", "B", "A")),
sex=c("M", "M", "M", "F", "F", "F"))
当我运行以下代码时
DT[, .SD, by=group]
我打印了数据表的排序版本。但是,为什么以下代码不会给我相同的排序和打印版本?我按行的原始顺序获取数据表
DT[, , by=group]
我确定有一个实现原因导致输出差异我还没有找到原因。是因为当by=
部分为空时,j
没有真正评估过吗?
如果我设置了密钥(当我想对表进行排序时我真的应该这样做)数据表本身显然会被排序
setkey(DT, group)
DT
我在这里缺少什么?