0

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".

Andre Elrico
  • 10,956
  • 6
  • 50
  • 69

0 Answers0