I'm running the latest data.table version:
> packageVersion("data.table")
#[1] ‘1.11.4’
Let's consider this example:
df <- data.frame(id = c(rep(1,5),rep(2,4)) ,subgrp = rep(letters[1:3],each=3),value = 1:9,stringsAsFactors = FALSE)
result<-
setDT(df)[,.(first_subgrp = subgrp[1],
sum_val = sum(value)),by="id"][,gt_15 := ifelse(sum_val > 15, T, F)]
result #nothing happens
result
slightly different version but same behavior.
df <- data.frame(id = c(rep(1,5),rep(2,4)) ,subgrp = rep(letters[1:3],each=3),value = 1:9,stringsAsFactors = FALSE)
result<-
as.data.table(df)[,.(first_subgrp = subgrp[1],
sum_val = sum(value)),by="id"][,gt_15 := ifelse(sum_val > 15, T, F)]
result #nothing happens again.
result
Question: Why is the data.table df
only printed on the second "call".