假设我有以下数据框架
ID A B C
1 10 10 10
1 20 5 15
1 30 0 12
2 10 5 13
2 0 10 10
...我想通过I聚合框架,但将mean()应用于A,将min()应用于B,将max()应用于C。
导致这个
ID A B C
1 20 0 15
2 5 5 13
...我如何有效地做到这一点(我有一个非常大的数据框架)?
发布于 2016-03-19 12:46:40
data.table方法,
Library("data.table")
Table1 <- data.table(df)
Table1[, list(A = mean(A), B = min(B), C = max(C)), by = "ID"]
# ID A B C
#1: 1 20 0 15
#2: 2 5 5 13发布于 2016-03-19 11:04:27
使用dplyr包。假设您的数据框架名称是“数据”:
library(dplyr)
t1 <- summarize(group_by(data,ID), A=mean(A), B=min(B), C=max(C) )
t1 <- as.data.frame(t1)
t1产出:
ID A B C
1 1 20 0 15
2 2 5 5 13https://stackoverflow.com/questions/36100581
复制相似问题