我有一个序列,然后是每个序列中记录的时间。我试图找到与其相应序列记录的时间的最大值。示例如下:
Seq seconds
1 1 1
2 1 2
3 1 3
4 1 4
5 2 1
6 2 2
7 3 1
8 3 2
9 3 3
10 3 4
11 3 5
我想要一个结果告诉我每个序列中记录的最长时间。
Seq Time
1 4
2 2
3 5
答案 0 :(得分:1)
来自dplyr
的解决方案。
library(dplyr)
dt2 <- dt %>%
arrange(Seq, seconds) %>%
group_by(Seq) %>%
slice(n())
dt2
# A tibble: 3 x 2
# Groups: Seq [3]
Seq seconds
<int> <int>
1 1 4
2 2 2
3 3 5
数据强>
dt <- read.table(text = " Seq seconds
1 1 1
2 1 2
3 1 3
4 1 4
5 2 1
6 2 2
7 3 1
8 3 2
9 3 3
10 3 4
11 3 5",
header = TRUE)
答案 1 :(得分:1)
使用data.table
library(data.table)
setDT(df1)[, .(Time = max(seconds)), Seq]
# Seq Time
#1: 1 4
#2: 2 2
#3: 3 5