Dynamically add column names to data.table when aggregating

前端 未结 2 932
粉色の甜心
粉色の甜心 2020-11-29 14:03

I know we can dynamically add column names when creating columns by reference (using :=), as described e.g. here: Dynamic column names in data.table.

Ho

相关标签:
2条回答
  • 2020-11-29 14:20

    As mentioned in the comments by lukeA, setNames can be used:

    m <- c("blah", "foo")
    test_dtb[ , setNames(list(mean(b), median(b)), m), by = id] 
    
    0 讨论(0)
  • 2020-11-29 14:27

    Just make sure data.table knows "m" is not a variable name.

    Parentheses or "c" will do.

    test_dtb[, (m)  := mean(b),by = id]
    test_dtb[, c(m) := mean(b),by = id]
    
    0 讨论(0)
提交回复
热议问题