我希望对一个data.table
进行分组后筛选出每个组中的最大值。
DT <- data.table(V1 = c(1L, 2L),
V2 = LETTERS[1:3],
V3 = round(rnorm(4), 4),
V4 = 1:12)
V1 V2 V3 V4
1: 1 A -0.1346 1
2: 2 A 0.2309 4
3: 1 A 0.7067 7
4: 2 A -1.0082 10
5: 2 B -1.0082 2
6: 1 B -0.1346 5
7: 2 B 0.2309 8
8: 1 B 0.7067 11
9: 1 C 0.7067 3
10: 2 C -1.0082 6
11: 1 C -0.1346 9
12: 2 C 0.2309 12
我尝试了这个方法,但没有成功:
DT[,max(V3), by =.(V2)]
V2 V1
1: A 1.2281
2: B 1.2281
3: C 1.2281
如果没有循环,我应该怎么处理?我更喜欢使用data.table方法。