Возвращение первого ряда группы

У меня есть датафрейм, состоящий изID, то же самое для каждого элемента в группе, два datetime и интервал времени между этими двумя. Одним из объектов datetime является мой соответствующий маркер времени. Теперь мне нравится получать подмножество данных, состоящее из самой ранней записи для каждой группы. Записи (особенно временной интервал) должны оставаться нетронутыми.

Моим первым подходом была сортировка фрейма по 1. ID и 2. соответствующей дате и времени. Однако я не былв состоянии вернуть первую запись для каждой новой группы.

Я тогда смотрел наaggregate() так же какddply() функция, но я не мог найти вариант в обоих, который просто возвращает первую запись без применения функции агрегирования к значению временного интервала.

Есть ли (простой) способ сделать это?

ДОПОЛНЕНИЕ: Может быть, я был неясен, добавив мои примечания aggregate () и ddply (). Мне не обязательно агрегировать. Учитывая тот факт, что фрейм данных отсортирован таким образом, что первая строка каждой новой группы - это строка, которую я ищу, было бы достаточно просто вернуть подмножество с каждой строкой, у которой идентификатор отличается от предыдущего ( начальный ряд каждой новой группы).

Пример данных:

structure(list(ID = c(1454L, 1322L, 1454L, 1454L, 1855L, 1669L, 
1727L, 1727L, 1488L), Line = structure(c(2L, 1L, 3L, 1L, 1L, 
1L, 1L, 1L, 1L), .Label = c("A", "B", "C"), class = "factor"), 
    Start = structure(c(1357038060, 1357221074, 1357369644, 1357834170, 
    1357913412, 1358151763, 1358691675, 1358789411, 1359538400
    ), class = c("POSIXct", "POSIXt"), tzone = ""), End = structure(c(1357110430, 
    1357365312, 1357564413, 1358230679, 1357978810, 1358674600, 
    1358853933, 1359531923, 1359568151), class = c("POSIXct", 
    "POSIXt"), tzone = ""), Interval = c(1206.16666666667, 2403.96666666667, 
    3246.15, 6608.48333333333, 1089.96666666667, 8713.95, 2704.3, 
    12375.2, 495.85)), .Names = c("ID", "Line", "Start", "End", 
"Interval"), row.names = c(NA, -9L), class = "data.frame")

Ответы на вопрос(2)

Ваш ответ на вопрос