Olá Daniel!Utilizei a abordagem que você sugeriu e criei dois laços para fazer a checagem.Ainda não está exatamente como gostaria mas o filtro já está sendo feito da maneira que preciso.Segue a estrutura utilizada.Obrigado!Abraçosdados:area_id dia mes ano frequencia valora 15 12 2012 10 5a 22 12 2012 15 10a 15 12 2012 12 15a 24 11 2013 15 20b 8 12 2013 10 5b 14 10 2012 12 10c 7 11 2012 15 5c 19 11 2013 12 10c 19 10 2014 12 15c 19 10 2013 15 20d 5 10 2014 10 5d 23 10 2014 10 10d 5 12 2012 10 15d 5 12 2012 15 20d 5 12 2013 12 25d 6 11 2014 12 30estrutura:#--------------------Remover Objetos do R--------------------#rm(list = ls())set.seed(29031989)raiz = 'C:\\Users\\Desktop\\'a = read.table(paste0(raiz, 'teste_classificacao_final.txt'), header = T, sep = '\t')colunas = colnames(a)locais = data.frame(unique(a$area_id))for (i in 1:length(locais[,1])){#nome = paste0("area_", locais[i,1])#area = assign(nome, a[which(a$area_id==locais[i,1]),])area = a[which(a$area_id==locais[i,1]),]anos = data.frame(unique(area$ano))for (x in 1:length(anos[,1])) {area_ano = area[which(area$ano==anos[x,1]),]frequencia_max = max(area_ano$frequencia)valor_max = max(area_ano$valor)area_ano_freq = area_ano[which(area_ano$frequencia==frequencia_max),]area_ano_freq_val = area_ano_freq[which(area_ano_freq$frequencia==frequencia_max),]write.table(area_ano_freq_val, paste0(raiz, 'teste', '.txt'), sep = "\t", append = T, col.names = F, row.names = F)}}b = read.table(paste0(raiz, 'teste.txt'), header = F, sep = '\t')colnames(b) = colunasYury DuarteEngenheiro Agrônomo - ESALQ/USPEm qua, 7 de nov de 2018 às 09:26, Daniel Guimarães Tiezzi por (R-br) <r-br@listas.c3sl.ufpr.br> escreveu:Uma opção eh usar Uma estrutura de repetição para checar as variaveis e retornar o valor q desejaDanielOn Wed, 7 Nov 2018, 09:22 Yury Duarte por (R-br) <r-br@listas.c3sl.ufpr.br wrote:Bom dia colegas listeiros,Edson, agradeço pela dica! Já tinha me esquecido da possibilidade de utilizar aggregate nos meus comandos.Entretanto, tentei utilizar a função sugerida para resolver o problema mas não consegui adapta-la para a minha necessidade.Quando utilizo o aggregate ele me pede uma 'function' para ser aplicada aos dados, de acordo com a ordem de agrupamento estabelecida dentro do argumento 'by', mas não não consegui adaptar uma função que me retornasse um boleano de mesmo valor/significado da coluna 'valido' (que gerei manualmente para validar os resultados do código). Consegui agregar os locais por área e por data quando pedi para retornar a média das frequências ou das quantidades, mas isso não me ajuda muito no momento.aggregate(dados$local, by = list(dados$data), 'função')Desde já, agradeço pela ajuda de todos!Yury DuarteEngenheiro Agrônomo - ESALQ/USPEm ter, 6 de nov de 2018 às 18:21, Edson Lira por (R-br) <r-br@listas.c3sl.ufpr.br> escreveu:Dá uma olhada no aggregate<div>Em ter, 6 6e nov 6e 2018 às 15:25, Yury Duarte por (R-br)</div><div><r-br@listas.c3sl.ufpr.br> escreveu:</div>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!AttYury DuarteEngenheiro Agrônomo - ESALQ/USP_______________________________________________R-br mailing listLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel._______________________________________________R-br mailing listLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível._______________________________________________R-br mailing listLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível._______________________________________________R-br mailing listLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível._______________________________________________R-br mailing listR-br@listas.c3sl.ufpr.brhttps://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-brLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.