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 <[email protected]>:
> 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
> [email protected]
> 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)
_______________________________________________
R-br mailing list
[email protected]
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.

Responder a