Here we consider an alternative. Since s is data.tableextended data.frame, why not just use the method printfor data.frames? This way you both print all the input lines, but without the column names, which also appear at the bottom.
For example, the following dataset is enough to demonstrate the behavior of print names below.
set.seed(1)
dt <- data.table(sample(21, 1000, TRUE))
dt[, .N, by = V1]
print.data.frame, :
print.data.frame(dt[, .N, by = V1]) ## Specify use of data.frame print method
, -, data.table, - :
setDF(dt[, .N, by = V1])[]