[R-br] Assunto: Classificar um conjunto de dados

Yury Duarte yurynepomuceno em gmail.com
Qua Nov 7 09:22:10 -02 2018


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 Duarte
Engenheiro Agrônomo - ESALQ/USP


Em ter, 6 de nov de 2018 às 18:21, Edson Lira por (R-br) <
r-br em listas.c3sl.ufpr.br> escreveu:

> Dá uma olhada no aggregate
>
> Enviado do Yahoo Mail no Android
> <https://go.onelink.me/107872968?pid=InProduct&c=Global_Internal_YGrowth_AndroidEmailSig__AndroidUsers&af_wl=ym&af_sub1=Internal&af_sub2=Global_YGrowth&af_sub3=EmailSignature>
>
> <div>Em ter, 6 6e nov 6e 2018 às 15:25, Yury Duarte por (R-br)</div><div><
> r-br em 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!
>
> Att
>
> Yury Duarte
> Engenheiro Agrônomo - ESALQ/USP
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a
> c�digo m�nimo reproduz�vel.
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20181107/fe7f3d8e/attachment.html>


Mais detalhes sobre a lista de discussão R-br