我注意到这种奇怪的行为。
我通过将多个[i, j, by]
操作块拼接在一起来创建data.table,而在最后一个我使用:=
赋值运算符。但是现在data.table没有打印到控制台,除非你用[]
示例:
set.seed(1)
raw_dt <- data.table(x = sample(letters[1:5], 50, replace=T))
new_dt <- raw_dt[, .N, by = x][, label := paste(x, 'occurs', N, 'times')]
# this does not print to console
new_dt
# although this does
new_dt[]
:=
操作不打印很好,所以你可以在降价块中静默使用它们,但是我希望像上面那样分配一个新的DT来打印。
[]
是一个很好的解决方法,但这是预期的行为吗?在没有new_dt
的情况下,在没有[]
?