С такого кадра данных
test <- data.frame('id'= rep(1:5,2), 'string'= LETTERS[1:10])
test <- test[order(test$id), ]
rownames(test) <- 1:10
> test
    id string
 1   1      A
 2   1      F
 3   2      B
 4   2      G
 5   3      C
 6   3      H
 7   4      D
 8   4      I
 9   5      E
 10  5      J
 Я хочу создать новый с первой строкой каждой пары id/string. Если sqldf принимает код R внутри него, запрос может выглядеть следующим образом:
res <- sqldf("select id, min(rownames(test)), string 
              from test 
              group by id, string")
> res
    id string
 1   1      A
 3   2      B
 5   3      C
 7   4      D
 9   5      E
 Есть ли решение за исключением создания нового столбца, как
test$row <- rownames(test)
 и запустить тот же запрос sqldf с min (строка)?