Boa tarde colegas listeiros, como vão?
Tenho um problema e estou com certa dificuldade em resolver de forma prática. Meu conjunto de dados é o seguinte:
local |
frequencia |
data |
quantidade |
valido |
A |
2 |
13/05/2015 |
500,00 |
0 |
A |
2 |
13/05/2015 |
700,00 |
1 |
A |
1 |
13/05/2015 |
700,00 |
0 |
B |
3 |
13/05/2015 |
400,00 |
1 |
C |
5 |
13/05/2015 |
300,00 |
0 |
C |
5 |
10/05/2015 |
400,00 |
0 |
C |
5 |
13/05/2016 |
400,00 |
1 |
C |
5 |
13/05/2015 |
900,00 |
1 |
D |
3 |
13/05/2015 |
550,00 |
0 |
D |
4 |
13/05/2015 |
500,00 |
1 |
Para esse conjunto, gostaria de gerar a coluna 'valida', que me classifica os dados da seguinte maneira: para cada local e para cada ano, retornar apenas o local de maior frequência, mais recente e de maior quantidade (nessa ordem).
Pensei em gerar um objeto para cada local a partir do which(), mas como meu conjunto de dados tem mais de 150 mil linhas e mais de 2000 locais, achei que essa abordagem não seria muito prática nem rápida de ser processada.
Desde já, agradeço pela colaboração de todos!
Att
Yury Duarte
Engenheiro Agrônomo - ESALQ/USP