Извиняюсь, если вопрос немного многословный, однако я уверен, что приведенный здесь пример прояснит ситуацию.У меня есть следующий фрейм данных:
structure(list(teamName = c("Brazil", "Germany", "Spain", "England",
"France", "Spain", "France", "Germany", "Brazil", "England",
"Spain", "France", "Brazil"), wins = c(0, 0, 0, 0, 0, 1, 1, 1,
1, 1, 1, 2, 1), losses = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1), ties = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0)), .Names = c("teamName",
"wins", "losses", "ties"), row.names = c(NA, 13L), class = "data.frame")
teamName wins losses ties
1 Brazil 0 0 0
2 Germany 0 0 0
3 Spain 0 0 0
4 England 0 0 0
5 France 0 0 0
6 Spain 1 0 0
7 France 1 0 0
8 Germany 1 0 0
9 Brazil 1 0 0
10 England 1 0 0
11 Spain 1 0 1
12 France 1 0 1
13 Brazil 1 1 0
, в котором есть несколько футбольных стран, и я хотел бы отфильтровать этот фрейм данных так, чтобы он включал только последнюю строку для каждой команды.Хотя здесь 5 команд, это не обязательно тот случай, когда 5 последних строк в кадре данных - это те 5 строк, которые мне нужны.В этом случае есть 2 строки для Бразилии перед последней строкой в Германии.
В этом примере индексы строк для последней строки для каждой команды составляют 8, 10, 11, 12 и 13.
Существует ли простой способ получить эти индексы без необходимостииспользовать для цикла?
Спасибо!