【发布时间】:2017-11-10 17:30:00
【问题描述】:
考虑下一个数据集:
id <- c(1,1,1,2,2,2)
col_a <- c(123,56,87,987,1003,10)
col_b <- c(17,234,20,88,765,69)
col_c <- c(45,90,543,NA,1,543)
df <- data.frame(id,col_a,col_b,col_c)
library(data.table)
setDT(df)
使用按 id 分组我需要为每列应用不同的功能: 例如:col_a 为 min,col_b 为中值,col_c 为 max,生成下一个结果:
id col_a col_b col_c
1 56 20 543
2 10 88 543
需要完成这样的解决方案:
df[, lapply(.SD, ???), by=id]
【问题讨论】:
标签: r data.table