[R-br] Dúvida para montar um agrupamento

Benilton Carvalho beniltoncarvalho em gmail.com
Sexta Julho 8 18:53:33 BRT 2011


suponha que o 'x' seja um data.frame que contenha os seus dados e q
'x' contenha as colunas como vc listou...

entao:

x[['principal']] = x[['principal']] == 'Sim'
tmp = aggregate(x[['principal']],
by=list(identificador=x[['identificador']],
municipio=x[['municipio']]), sum)
do.call(rbind, lapply(split(tmp, tmp[['identificador']]),
function(y){i = which.max(y[['x']]); y[i,]}))

eventualmente, alguem vira com uma solucao mais curta... enqto isso, a
acima resolve.

b

2011/7/8 Clayton Santos Delfino <csd em arandanet.com.br>:
> Olá pessoal, boa noite.
>
> Fico feliz por ter encontrado uma lista de R em português pois estou
> começando a aprender e tenho várias dúvidas e
> espero contar com a preciosa ajuda de todos.
>
> Eu já consegui realizar algumas análises com R mas agora empaquei com o
> seguinte:
>
> tenho um data.frame com a seguinte estrutura:
>
> identificador   municipio       regiao  principal
>
> 1               Sao Paulo       1       Sim
> 1               Sorocaba        1       Não
> 1               Curitiba                2       Não
> 1               Sao Paulo       1       Sim
> 1               Porto Alegre    3       Não
> 1               Cuiaba          4       Não
> 2               Sao Paulo       1       Não
> 2               Sorocaba        1       Não
> 2               Curitiba                2       Sim
> 2               Curitiba                2       Sim
> 3               Porto Alegre    3       Sim
> 3               Porto Alegre    3       Sim
> 3               Porto Alegre    3       Sim
> 3               Sorocaba        1       Não
>
> Eu o que eu estou tentando fazer e ainda não encontrei um meio seria gerar
> uma tabela com uma linha para cada identificador onde somente o municipio
>
> com maior frequencia, considerando-se "principal = Sim" fosse retornado,
> exemplo:
>
> identificador   Municipio       Principal (frequencia)
>
> 1               São Paulo       2
> 2               Curitiba                2
> 3               Porto Alegre    3
>
> Se alguem puder me ajudar agredeço desde já.
>
> Um abraço  a todos.
>
> Clayton
>
> _______________________________________________
> 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.
>



-- 
Successful people ask better questions, and as a result, they get
better answers. (Tony Robbins)


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