[R-br] Redistribuição das contagens de uma estrutura de dados (Cesar Rabak / Alan Rodrigo Panosso)

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[R-br] Redistribuição das contagens de uma estrutura de dados (Cesar Rabak / Alan Rodrigo Panosso)

R-br mailing list
Boa tarde César e Alan

Muito obrigado pela ajuda.

Sobre a dúvida do César:

" . . . porque mesmo após as várias explicações, ainda não entendi se as somas (como Alan fez) seriam feitas a cada nova vinda de dados (praticamente reconstruindo o data.frame) "

É isso mesmo, a tabela dinâmica é reconstruída a cada nova entrada de dados. 

Essas duas novas sugestões são muito promissoras.

Acho que estou me aproximando da solução.

Muito obrigado,

Paulo
 
Em ter, 2 de abr de 2019 às 12:00, <[hidden email]> escreveu:
Enviar submissões para a lista de discussão R-br para
        [hidden email]

Para se cadastrar ou descadastrar via WWW, visite o endereço
        https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
corpo da mensagem para
        [hidden email]

Você poderá entrar em contato com a pessoa que gerencia a lista pelo
endereço
        [hidden email]

Quando responder, por favor edite sua linha Assunto assim ela será
mais específica que "Re: Contents of R-br digest..."


Tópicos de Hoje:

   1. Re: Digest R-br, volume 100, assunto 1 (Paulo Eduardo de Mesquita)
   2. Re: Digest R-br, volume 100, assunto 1 (Alan Rodrigo Panosso)
   3. Re:  Redistribuição das contagens de uma estrutura de dados
      (Cesar Rabak)


----------------------------------------------------------------------

Message: 1
Date: Mon, 1 Apr 2019 19:08:36 -0300
From: Paulo Eduardo de Mesquita <[hidden email]>
To: a lista Brasileira oficial de discussão do programa R.
        <[hidden email]>
Subject: Re: [R-br] Digest R-br, volume 100, assunto 1
Message-ID:
        <CABODYa4E_yPrN0xtckFoM9tvMLR5sLvXnTXELPLORR4S=[hidden email]>
Content-Type: text/plain; charset="utf-8"

Muito obrigado ao Alan e ao Vinicius pelas ideias.

A solução proposta pelo Alan funciona perfeitamente no meu exemplo. Vou
precisar pensar um pouco mais para reproduzi-la na minha estrutura de dados
como um todo e não coluna por coluna como fiz no meu exemplo de trabalho.
De qualquer forma, a sua ideia é um excelente ponto de partida.

Sobre o princípio da parcimônia invocado pelo Vinícius, eu concordo. Talvez
eu não sido muito feliz na descrição do problema. Não sei se vou conseguir
agora, mas vou tentar novamente.

Na minha base de dados original existe uma variável categórica que aceita
duas subcategorias: simples (A, B, C, D, E, F, G, H . . .) e as combinadas
(AC, CA, ABCDE, FHB, BCH . . .). Essa variável deve ser analisada em função
de outra variável relacionada ao espaço (no meu exemplo, utilizei as
cidades para representar essa variável). Na base de dados original são duas
colunas com as quais eu construo uma estrutura matricial (tabela dinâmica),
que por sua vez possui esses dois tipos de colunas as quais me refiro.  A
solução que procuro visa realocar as frequências das colunas combinadas
para as simples, criando uma nova estrutura que tenha apenas "colunas
simples" mas que conserve a representação contida anteriormente nas colunas
combinadas. Não sei se fiel ao principio da economia, todas elas partem da
tabela dinâmica e não da estrutura original. É certo que deve haver outras
soluções. Só não estou sendo capaz de enxerga-las.

Muito obrigado pela ajuda,

Paulo


Em seg, 1 de abr de 2019 às 12:00, <[hidden email]>
escreveu:

> Enviar submissões para a lista de discussão R-br para
>         [hidden email]
>
> Para se cadastrar ou descadastrar via WWW, visite o endereço
>         https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
> corpo da mensagem para
>         [hidden email]
>
> Você poderá entrar em contato com a pessoa que gerencia a lista pelo
> endereço
>         [hidden email]
>
> Quando responder, por favor edite sua linha Assunto assim ela será
> mais específica que "Re: Contents of R-br digest..."
>
>
> Tópicos de Hoje:
>
>    1. Redistribuição das contagens de uma estrutura de dados
>       (Paulo Eduardo de Mesquita)
>    2. Re:  Redistribuição das contagens de uma estrutura de dados
>       (Vinicius Brito Rocha)
>    3. Re:  Redistribuição das contagens de uma estrutura de dados
>       (Alan Rodrigo Panosso)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sun, 31 Mar 2019 15:20:45 -0300
> From: Paulo Eduardo de Mesquita <[hidden email]>
> To: a lista Brasileira oficial de discussão do programa R.
>         <[hidden email]>
> Subject: [R-br] Redistribuição das contagens de uma estrutura de
>         dados
> Message-ID:
>         <CABODYa729SrqoJHUOv9oTC7dS8W++fdRPCt=
> [hidden email]>
> Content-Type: text/plain; charset="utf-8"
>
> Prezado(a)s Colegas,
>
> Peço a vossa ajuda para encontrar solução para o seguinte problema:
>
> Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
> colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
> código anexo).
>
> As colunas com nomes combinados são construídas através da "concatenação"
> dos nomes de colunas simples.
>
> As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
> aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
>
> Eu preciso redistribuir as contagens contidas nas colunas com nomes
> combinados para colunas de nomes simples, de modo que se, em uma linha
> qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
> minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
> mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
> imagino eu, facilita a compreensão do problema.
>
> Muito obrigado pela atenção,
> --
> Paulo Eduardo de Mesquita
> Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
> Paulista Presidente Prudente - São Paulo - Brasil
> telefone: 5518 97718261
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190331/8984a7ae/attachment-0001.html
> >
> -------------- Próxima Parte ----------
> Um anexo não-texto foi limpo...
> Nome: exemplo.R
> Tipo: application/octet-stream
> Tamanho: 630 bytes
> Descrição: não disponível
> URL: <
> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190331/8984a7ae/attachment-0001.obj
> >
>
> ------------------------------
>
> Message: 2
> Date: Sun, 31 Mar 2019 15:29:51 -0300
> From: Vinicius Brito Rocha <[hidden email]>
> To: a lista Brasileira oficial de discussão do programa R.
>         <[hidden email]>
> Subject: Re: [R-br]  Redistribuição das contagens de uma estrutura
>         de dados
> Message-ID:
>         <
> [hidden email]>
> Content-Type: text/plain; charset="utf-8"
>
> Paulo,
>
> Confesso que fiquei confuso.
> Vou tomar a liberdade de perguntar exatamente o q vc pretende resolver?
> Pois vc trouxe a dúvida sobre a execução. De repente existem outras saídas
> para o seu problema original.
> Apenas seguindo o princípio da parcimônia.
> Grande abraço.
>
>
> Em dom, 31 de mar de 2019 15:21, Paulo Eduardo de Mesquita por (R-br) <
> [hidden email]> escreveu:
>
> > Prezado(a)s Colegas,
> >
> > Peço a vossa ajuda para encontrar solução para o seguinte problema:
> >
> > Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
> > colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
> > código anexo).
> >
> > As colunas com nomes combinados são construídas através da "concatenação"
> > dos nomes de colunas simples.
> >
> > As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
> > aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
> >
> > Eu preciso redistribuir as contagens contidas nas colunas com nomes
> > combinados para colunas de nomes simples, de modo que se, em uma linha
> > qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
> > minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
> > mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
> > imagino eu, facilita a compreensão do problema.
> >
> > Muito obrigado pela atenção,
> > --
> > Paulo Eduardo de Mesquita
> > Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
> > Paulista Presidente Prudente - São Paulo - Brasil
> > telefone: 5518 97718261
> > _______________________________________________
> > R-br mailing list
> > [hidden email]
> > 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/20190331/63f6d736/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Mon, 1 Apr 2019 00:29:25 -0300
> From: Alan Rodrigo Panosso <[hidden email]>
> To: a lista Brasileira oficial de discussão do programa R.
>         <[hidden email]>
> Subject: Re: [R-br]  Redistribuição das contagens de uma estrutura
>         de dados
> Message-ID:
>         <
> [hidden email]>
> Content-Type: text/plain; charset="utf-8"
>
> Prezado Paulo,
>
> Veja se ajuda, continuei a partir de seu exemplo.
> utilizei a função "grep()"
>
> names(df)
> A2<-apply(df[grep("[A]",names(df))],1,sum)
> B2<-apply(df[grep("[B]",names(df))],1,sum)
> C2<-apply(df[grep("[C]",names(df))],1,sum)
> df3<-data.frame(A2,B2,C2)
> df2 == df3
>
> Att
> Alan
>
>
>
>
> Em dom, 31 de mar de 2019 às 15:21, Paulo Eduardo de Mesquita por (R-br) <
> [hidden email]> escreveu:
>
> > Prezado(a)s Colegas,
> >
> > Peço a vossa ajuda para encontrar solução para o seguinte problema:
> >
> > Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
> > colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
> > código anexo).
> >
> > As colunas com nomes combinados são construídas através da "concatenação"
> > dos nomes de colunas simples.
> >
> > As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
> > aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
> >
> > Eu preciso redistribuir as contagens contidas nas colunas com nomes
> > combinados para colunas de nomes simples, de modo que se, em uma linha
> > qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
> > minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
> > mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
> > imagino eu, facilita a compreensão do problema.
> >
> > Muito obrigado pela atenção,
> > --
> > Paulo Eduardo de Mesquita
> > Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
> > Paulista Presidente Prudente - São Paulo - Brasil
> > telefone: 5518 97718261
> > _______________________________________________
> > R-br mailing list
> > [hidden email]
> > 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.
>
>
>
> --
>
>
>
> Alan Rodrigo Panosso
>
>
> ----------------------------------------------------------------------------
>
> Professor Assistente Doutor - Departamento de Ciências Exatas
> Faculdade de Ciências Agrárias e Veterinárias - FCAV - UNESP/Jaboticabal
>
> Via de Acesso Prof.Paulo Donato Castellane s/n
>
> 14884-900 - Jaboticabal, SP
>
> E_mail: alan.panosso@u <[hidden email]>nesp.br ou
>
> [hidden email]
> Tel.: (16) 3209-7210
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190401/cfd6a766/attachment-0001.html
> >
>
> ------------------------------
>
> Subject: Legenda do Digest
>
> _______________________________________________
> R-br mailing list
> [hidden email]
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>
> ------------------------------
>
> Fim da Digest R-br, volume 100, assunto 1
> *****************************************
>


--
Paulo Eduardo de Mesquita
Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
Paulista Presidente Prudente - São Paulo - Brasil
telefone: 5518 97718261
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190401/e424871c/attachment-0001.html>

------------------------------

Message: 2
Date: Mon, 1 Apr 2019 20:33:30 -0300
From: Alan Rodrigo Panosso <[hidden email]>
To: a lista Brasileira oficial de discussão do programa R.
        <[hidden email]>
Subject: Re: [R-br] Digest R-br, volume 100, assunto 1
Message-ID:
        <[hidden email]>
Content-Type: text/plain; charset="utf-8"

Prezado Paulo,

Ainda continuando o exemplo, veja se ajuda

nomes<-paste("[",LETTERS,"]",sep="")
df4<-data.frame(cidades=rownames(df3))
for(i in 1:length(nomes)){
  df4<-cbind(df4,apply(df[grep(nomes[i],names(df))],1,sum))
}
df4<-df4[-1]
names(df4)<-LETTERS
df4
df4[1:3]==df2

Att.
Alan

Em seg, 1 de abr de 2019 às 19:08, Paulo Eduardo de Mesquita por (R-br) <
[hidden email]> escreveu:

> Muito obrigado ao Alan e ao Vinicius pelas ideias.
>
> A solução proposta pelo Alan funciona perfeitamente no meu exemplo. Vou
> precisar pensar um pouco mais para reproduzi-la na minha estrutura de dados
> como um todo e não coluna por coluna como fiz no meu exemplo de trabalho.
> De qualquer forma, a sua ideia é um excelente ponto de partida.
>
> Sobre o princípio da parcimônia invocado pelo Vinícius, eu concordo.
> Talvez eu não sido muito feliz na descrição do problema. Não sei se vou
> conseguir agora, mas vou tentar novamente.
>
> Na minha base de dados original existe uma variável categórica que aceita
> duas subcategorias: simples (A, B, C, D, E, F, G, H . . .) e as combinadas
> (AC, CA, ABCDE, FHB, BCH . . .). Essa variável deve ser analisada em função
> de outra variável relacionada ao espaço (no meu exemplo, utilizei as
> cidades para representar essa variável). Na base de dados original são duas
> colunas com as quais eu construo uma estrutura matricial (tabela dinâmica),
> que por sua vez possui esses dois tipos de colunas as quais me refiro.  A
> solução que procuro visa realocar as frequências das colunas combinadas
> para as simples, criando uma nova estrutura que tenha apenas "colunas
> simples" mas que conserve a representação contida anteriormente nas colunas
> combinadas. Não sei se fiel ao principio da economia, todas elas partem da
> tabela dinâmica e não da estrutura original. É certo que deve haver outras
> soluções. Só não estou sendo capaz de enxerga-las.
>
> Muito obrigado pela ajuda,
>
> Paulo
>
>
> Em seg, 1 de abr de 2019 às 12:00, <[hidden email]>
> escreveu:
>
>> Enviar submissões para a lista de discussão R-br para
>>         [hidden email]
>>
>> Para se cadastrar ou descadastrar via WWW, visite o endereço
>>         https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
>> corpo da mensagem para
>>         [hidden email]
>>
>> Você poderá entrar em contato com a pessoa que gerencia a lista pelo
>> endereço
>>         [hidden email]
>>
>> Quando responder, por favor edite sua linha Assunto assim ela será
>> mais específica que "Re: Contents of R-br digest..."
>>
>>
>> Tópicos de Hoje:
>>
>>    1. Redistribuição das contagens de uma estrutura de dados
>>       (Paulo Eduardo de Mesquita)
>>    2. Re:  Redistribuição das contagens de uma estrutura de dados
>>       (Vinicius Brito Rocha)
>>    3. Re:  Redistribuição das contagens de uma estrutura de dados
>>       (Alan Rodrigo Panosso)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Sun, 31 Mar 2019 15:20:45 -0300
>> From: Paulo Eduardo de Mesquita <[hidden email]>
>> To: a lista Brasileira oficial de discussão do programa R.
>>         <[hidden email]>
>> Subject: [R-br] Redistribuição das contagens de uma estrutura de
>>         dados
>> Message-ID:
>>         <CABODYa729SrqoJHUOv9oTC7dS8W++fdRPCt=
>> [hidden email]>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Prezado(a)s Colegas,
>>
>> Peço a vossa ajuda para encontrar solução para o seguinte problema:
>>
>> Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
>> colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
>> código anexo).
>>
>> As colunas com nomes combinados são construídas através da "concatenação"
>> dos nomes de colunas simples.
>>
>> As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
>> aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
>>
>> Eu preciso redistribuir as contagens contidas nas colunas com nomes
>> combinados para colunas de nomes simples, de modo que se, em uma linha
>> qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
>> minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
>> mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
>> imagino eu, facilita a compreensão do problema.
>>
>> Muito obrigado pela atenção,
>> --
>> Paulo Eduardo de Mesquita
>> Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
>> Paulista Presidente Prudente - São Paulo - Brasil
>> telefone: 5518 97718261
>> -------------- Próxima Parte ----------
>> Um anexo em HTML foi limpo...
>> URL: <
>> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190331/8984a7ae/attachment-0001.html
>> >
>> -------------- Próxima Parte ----------
>> Um anexo não-texto foi limpo...
>> Nome: exemplo.R
>> Tipo: application/octet-stream
>> Tamanho: 630 bytes
>> Descrição: não disponível
>> URL: <
>> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190331/8984a7ae/attachment-0001.obj
>> >
>>
>> ------------------------------
>>
>> Message: 2
>> Date: Sun, 31 Mar 2019 15:29:51 -0300
>> From: Vinicius Brito Rocha <[hidden email]>
>> To: a lista Brasileira oficial de discussão do programa R.
>>         <[hidden email]>
>> Subject: Re: [R-br]  Redistribuição das contagens de uma estrutura
>>         de dados
>> Message-ID:
>>         <
>> [hidden email]>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Paulo,
>>
>> Confesso que fiquei confuso.
>> Vou tomar a liberdade de perguntar exatamente o q vc pretende resolver?
>> Pois vc trouxe a dúvida sobre a execução. De repente existem outras saídas
>> para o seu problema original.
>> Apenas seguindo o princípio da parcimônia.
>> Grande abraço.
>>
>>
>> Em dom, 31 de mar de 2019 15:21, Paulo Eduardo de Mesquita por (R-br) <
>> [hidden email]> escreveu:
>>
>> > Prezado(a)s Colegas,
>> >
>> > Peço a vossa ajuda para encontrar solução para o seguinte problema:
>> >
>> > Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
>> > colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
>> > código anexo).
>> >
>> > As colunas com nomes combinados são construídas através da
>> "concatenação"
>> > dos nomes de colunas simples.
>> >
>> > As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
>> > aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
>> >
>> > Eu preciso redistribuir as contagens contidas nas colunas com nomes
>> > combinados para colunas de nomes simples, de modo que se, em uma linha
>> > qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
>> > minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
>> > mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
>> > imagino eu, facilita a compreensão do problema.
>> >
>> > Muito obrigado pela atenção,
>> > --
>> > Paulo Eduardo de Mesquita
>> > Disciplina de Infectologia - Faculdade de Medicina  Universidade do
>> Oeste
>> > Paulista Presidente Prudente - São Paulo - Brasil
>> > telefone: 5518 97718261
>> > _______________________________________________
>> > R-br mailing list
>> > [hidden email]
>> > 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/20190331/63f6d736/attachment-0001.html
>> >
>>
>> ------------------------------
>>
>> Message: 3
>> Date: Mon, 1 Apr 2019 00:29:25 -0300
>> From: Alan Rodrigo Panosso <[hidden email]>
>> To: a lista Brasileira oficial de discussão do programa R.
>>         <[hidden email]>
>> Subject: Re: [R-br]  Redistribuição das contagens de uma estrutura
>>         de dados
>> Message-ID:
>>         <
>> [hidden email]>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Prezado Paulo,
>>
>> Veja se ajuda, continuei a partir de seu exemplo.
>> utilizei a função "grep()"
>>
>> names(df)
>> A2<-apply(df[grep("[A]",names(df))],1,sum)
>> B2<-apply(df[grep("[B]",names(df))],1,sum)
>> C2<-apply(df[grep("[C]",names(df))],1,sum)
>> df3<-data.frame(A2,B2,C2)
>> df2 == df3
>>
>> Att
>> Alan
>>
>>
>>
>>
>> Em dom, 31 de mar de 2019 às 15:21, Paulo Eduardo de Mesquita por (R-br) <
>> [hidden email]> escreveu:
>>
>> > Prezado(a)s Colegas,
>> >
>> > Peço a vossa ajuda para encontrar solução para o seguinte problema:
>> >
>> > Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
>> > colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
>> > código anexo).
>> >
>> > As colunas com nomes combinados são construídas através da
>> "concatenação"
>> > dos nomes de colunas simples.
>> >
>> > As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
>> > aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
>> >
>> > Eu preciso redistribuir as contagens contidas nas colunas com nomes
>> > combinados para colunas de nomes simples, de modo que se, em uma linha
>> > qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
>> > minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
>> > mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
>> > imagino eu, facilita a compreensão do problema.
>> >
>> > Muito obrigado pela atenção,
>> > --
>> > Paulo Eduardo de Mesquita
>> > Disciplina de Infectologia - Faculdade de Medicina  Universidade do
>> Oeste
>> > Paulista Presidente Prudente - São Paulo - Brasil
>> > telefone: 5518 97718261
>> > _______________________________________________
>> > R-br mailing list
>> > [hidden email]
>> > 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.
>>
>>
>>
>> --
>>
>>
>>
>> Alan Rodrigo Panosso
>>
>>
>> ----------------------------------------------------------------------------
>>
>> Professor Assistente Doutor - Departamento de Ciências Exatas
>> Faculdade de Ciências Agrárias e Veterinárias - FCAV - UNESP/Jaboticabal
>>
>> Via de Acesso Prof.Paulo Donato Castellane s/n
>>
>> 14884-900 - Jaboticabal, SP
>>
>> E_mail: alan.panosso@u <[hidden email]>nesp.br ou
>>
>> [hidden email]
>> Tel.: (16) 3209-7210
>> -------------- Próxima Parte ----------
>> Um anexo em HTML foi limpo...
>> URL: <
>> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190401/cfd6a766/attachment-0001.html
>> >
>>
>> ------------------------------
>>
>> Subject: Legenda do Digest
>>
>> _______________________________________________
>> R-br mailing list
>> [hidden email]
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>
>>
>> ------------------------------
>>
>> Fim da Digest R-br, volume 100, assunto 1
>> *****************************************
>>
>
>
> --
> Paulo Eduardo de Mesquita
> Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
> Paulista Presidente Prudente - São Paulo - Brasil
> telefone: 5518 97718261
> _______________________________________________
> R-br mailing list
> [hidden email]
> 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.



--



Alan Rodrigo Panosso

----------------------------------------------------------------------------

Professor Assistente Doutor - Departamento de Ciências Exatas
Faculdade de Ciências Agrárias e Veterinárias - FCAV - UNESP/Jaboticabal

Via de Acesso Prof.Paulo Donato Castellane s/n

14884-900 - Jaboticabal, SP

E_mail: alan.panosso@u <[hidden email]>nesp.br ou

[hidden email]
Tel.: (16) 3209-7210
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190401/2172d86a/attachment-0001.html>

------------------------------

Message: 3
Date: Tue, 2 Apr 2019 01:07:36 -0300
From: Cesar Rabak <[hidden email]>
To: a lista Brasileira oficial de discussão do programa R.
        <[hidden email]>
Subject: Re: [R-br]  Redistribuição das contagens de uma estrutura
        de dados
Message-ID:
        <[hidden email]>
Content-Type: text/plain; charset="utf-8"

Apenas aditando a elegante solução proposta pelo Alan,

Este comando:

> grep(",",colnames(df), invert=T)

permitiria identificar todas as colunas com nomes "simples" no jargão do OP.

Então, um primeiro data.frame poderia ser construído :

df2  <- df[grep(",",colnames(df), invert=T)]

Aí um laço for poderia explorar a ideia do Alan, trocando o argumento do
grep dele pelos nomes no novo dataframe.

A minha proposta é deliberadamente sugestiva, porque mesmo após as várias
explicações, ainda não entendi se as somas (como Alan fez) seriam feitas a
cada nova vinda de dados (praticamente reconstruindo o data.frame) ou se
algum mecanismo de acumulação teria que ser contemplado, com maior
complexidade para a automação desse trabalho.

HTH
--
Cesar Rabak



On Mon, Apr 1, 2019 at 12:29 AM Alan Rodrigo Panosso por (R-br) <
[hidden email]> wrote:

> Prezado Paulo,
>
> Veja se ajuda, continuei a partir de seu exemplo.
> utilizei a função "grep()"
>
> names(df)
> A2<-apply(df[grep("[A]",names(df))],1,sum)
> B2<-apply(df[grep("[B]",names(df))],1,sum)
> C2<-apply(df[grep("[C]",names(df))],1,sum)
> df3<-data.frame(A2,B2,C2)
> df2 == df3
>
> Att
> Alan
>
>
>
>
> Em dom, 31 de mar de 2019 às 15:21, Paulo Eduardo de Mesquita por (R-br) <
> [hidden email]> escreveu:
>
>> Prezado(a)s Colegas,
>>
>> Peço a vossa ajuda para encontrar solução para o seguinte problema:
>>
>> Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
>> colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
>> código anexo).
>>
>> As colunas com nomes combinados são construídas através da "concatenação"
>> dos nomes de colunas simples.
>>
>> As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
>> aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
>>
>> Eu preciso redistribuir as contagens contidas nas colunas com nomes
>> combinados para colunas de nomes simples, de modo que se, em uma linha
>> qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
>> minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
>> mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
>> imagino eu, facilita a compreensão do problema.
>>
>> Muito obrigado pela atenção,
>> --
>> Paulo Eduardo de Mesquita
>> Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
>> Paulista Presidente Prudente - São Paulo - Brasil
>> telefone: 5518 97718261
>> _______________________________________________
>> R-br mailing list
>> [hidden email]
>> 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.
>
>
>
> --
>
>
>
> Alan Rodrigo Panosso
>
>
> ----------------------------------------------------------------------------
>
> Professor Assistente Doutor - Departamento de Ciências Exatas
> Faculdade de Ciências Agrárias e Veterinárias - FCAV - UNESP/Jaboticabal
>
> Via de Acesso Prof.Paulo Donato Castellane s/n
>
> 14884-900 - Jaboticabal, SP
>
> E_mail: alan.panosso@u <[hidden email]>nesp.br ou
>
> [hidden email]
> Tel.: (16) 3209-7210
> _______________________________________________
> R-br mailing list
> [hidden email]
> 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/20190402/6a34d70c/attachment-0001.html>

------------------------------

Subject: Legenda do Digest

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br


------------------------------

Fim da Digest R-br, volume 100, assunto 2
*****************************************


--
Paulo Eduardo de Mesquita
Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste Paulista Presidente Prudente - São Paulo - Brasil
telefone: 5518 97718261

_______________________________________________
R-br mailing list
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Redistribuição das contagens de uma estrutura de dados (Cesar Rabak / Alan Rodrigo Panosso)

R-br mailing list
👍

On Tue, Apr 2, 2019 at 2:09 PM Paulo Eduardo de Mesquita por (R-br) <[hidden email]> wrote:
Boa tarde César e Alan

Muito obrigado pela ajuda.

Sobre a dúvida do César:

" . . . porque mesmo após as várias explicações, ainda não entendi se as somas (como Alan fez) seriam feitas a cada nova vinda de dados (praticamente reconstruindo o data.frame) "

É isso mesmo, a tabela dinâmica é reconstruída a cada nova entrada de dados. 

Essas duas novas sugestões são muito promissoras.

Acho que estou me aproximando da solução.

Muito obrigado,

Paulo
 
Em ter, 2 de abr de 2019 às 12:00, <[hidden email]> escreveu:
Enviar submissões para a lista de discussão R-br para
        [hidden email]

Para se cadastrar ou descadastrar via WWW, visite o endereço
        https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
corpo da mensagem para
        [hidden email]

Você poderá entrar em contato com a pessoa que gerencia a lista pelo
endereço
        [hidden email]

Quando responder, por favor edite sua linha Assunto assim ela será
mais específica que "Re: Contents of R-br digest..."


Tópicos de Hoje:

   1. Re: Digest R-br, volume 100, assunto 1 (Paulo Eduardo de Mesquita)
   2. Re: Digest R-br, volume 100, assunto 1 (Alan Rodrigo Panosso)
   3. Re:  Redistribuição das contagens de uma estrutura de dados
      (Cesar Rabak)


----------------------------------------------------------------------

Message: 1
Date: Mon, 1 Apr 2019 19:08:36 -0300
From: Paulo Eduardo de Mesquita <[hidden email]>
To: a lista Brasileira oficial de discussão do programa R.
        <[hidden email]>
Subject: Re: [R-br] Digest R-br, volume 100, assunto 1
Message-ID:
        <CABODYa4E_yPrN0xtckFoM9tvMLR5sLvXnTXELPLORR4S=[hidden email]>
Content-Type: text/plain; charset="utf-8"

Muito obrigado ao Alan e ao Vinicius pelas ideias.

A solução proposta pelo Alan funciona perfeitamente no meu exemplo. Vou
precisar pensar um pouco mais para reproduzi-la na minha estrutura de dados
como um todo e não coluna por coluna como fiz no meu exemplo de trabalho.
De qualquer forma, a sua ideia é um excelente ponto de partida.

Sobre o princípio da parcimônia invocado pelo Vinícius, eu concordo. Talvez
eu não sido muito feliz na descrição do problema. Não sei se vou conseguir
agora, mas vou tentar novamente.

Na minha base de dados original existe uma variável categórica que aceita
duas subcategorias: simples (A, B, C, D, E, F, G, H . . .) e as combinadas
(AC, CA, ABCDE, FHB, BCH . . .). Essa variável deve ser analisada em função
de outra variável relacionada ao espaço (no meu exemplo, utilizei as
cidades para representar essa variável). Na base de dados original são duas
colunas com as quais eu construo uma estrutura matricial (tabela dinâmica),
que por sua vez possui esses dois tipos de colunas as quais me refiro.  A
solução que procuro visa realocar as frequências das colunas combinadas
para as simples, criando uma nova estrutura que tenha apenas "colunas
simples" mas que conserve a representação contida anteriormente nas colunas
combinadas. Não sei se fiel ao principio da economia, todas elas partem da
tabela dinâmica e não da estrutura original. É certo que deve haver outras
soluções. Só não estou sendo capaz de enxerga-las.

Muito obrigado pela ajuda,

Paulo


Em seg, 1 de abr de 2019 às 12:00, <[hidden email]>
escreveu:

> Enviar submissões para a lista de discussão R-br para
>         [hidden email]
>
> Para se cadastrar ou descadastrar via WWW, visite o endereço
>         https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
> corpo da mensagem para
>         [hidden email]
>
> Você poderá entrar em contato com a pessoa que gerencia a lista pelo
> endereço
>         [hidden email]
>
> Quando responder, por favor edite sua linha Assunto assim ela será
> mais específica que "Re: Contents of R-br digest..."
>
>
> Tópicos de Hoje:
>
>    1. Redistribuição das contagens de uma estrutura de dados
>       (Paulo Eduardo de Mesquita)
>    2. Re:  Redistribuição das contagens de uma estrutura de dados
>       (Vinicius Brito Rocha)
>    3. Re:  Redistribuição das contagens de uma estrutura de dados
>       (Alan Rodrigo Panosso)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sun, 31 Mar 2019 15:20:45 -0300
> From: Paulo Eduardo de Mesquita <[hidden email]>
> To: a lista Brasileira oficial de discussão do programa R.
>         <[hidden email]>
> Subject: [R-br] Redistribuição das contagens de uma estrutura de
>         dados
> Message-ID:
>         <CABODYa729SrqoJHUOv9oTC7dS8W++fdRPCt=
> [hidden email]>
> Content-Type: text/plain; charset="utf-8"
>
> Prezado(a)s Colegas,
>
> Peço a vossa ajuda para encontrar solução para o seguinte problema:
>
> Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
> colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
> código anexo).
>
> As colunas com nomes combinados são construídas através da "concatenação"
> dos nomes de colunas simples.
>
> As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
> aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
>
> Eu preciso redistribuir as contagens contidas nas colunas com nomes
> combinados para colunas de nomes simples, de modo que se, em uma linha
> qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
> minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
> mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
> imagino eu, facilita a compreensão do problema.
>
> Muito obrigado pela atenção,
> --
> Paulo Eduardo de Mesquita
> Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
> Paulista Presidente Prudente - São Paulo - Brasil
> telefone: 5518 97718261
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190331/8984a7ae/attachment-0001.html
> >
> -------------- Próxima Parte ----------
> Um anexo não-texto foi limpo...
> Nome: exemplo.R
> Tipo: application/octet-stream
> Tamanho: 630 bytes
> Descrição: não disponível
> URL: <
> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190331/8984a7ae/attachment-0001.obj
> >
>
> ------------------------------
>
> Message: 2
> Date: Sun, 31 Mar 2019 15:29:51 -0300
> From: Vinicius Brito Rocha <[hidden email]>
> To: a lista Brasileira oficial de discussão do programa R.
>         <[hidden email]>
> Subject: Re: [R-br]  Redistribuição das contagens de uma estrutura
>         de dados
> Message-ID:
>         <
> [hidden email]>
> Content-Type: text/plain; charset="utf-8"
>
> Paulo,
>
> Confesso que fiquei confuso.
> Vou tomar a liberdade de perguntar exatamente o q vc pretende resolver?
> Pois vc trouxe a dúvida sobre a execução. De repente existem outras saídas
> para o seu problema original.
> Apenas seguindo o princípio da parcimônia.
> Grande abraço.
>
>
> Em dom, 31 de mar de 2019 15:21, Paulo Eduardo de Mesquita por (R-br) <
> [hidden email]> escreveu:
>
> > Prezado(a)s Colegas,
> >
> > Peço a vossa ajuda para encontrar solução para o seguinte problema:
> >
> > Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
> > colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
> > código anexo).
> >
> > As colunas com nomes combinados são construídas através da "concatenação"
> > dos nomes de colunas simples.
> >
> > As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
> > aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
> >
> > Eu preciso redistribuir as contagens contidas nas colunas com nomes
> > combinados para colunas de nomes simples, de modo que se, em uma linha
> > qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
> > minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
> > mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
> > imagino eu, facilita a compreensão do problema.
> >
> > Muito obrigado pela atenção,
> > --
> > Paulo Eduardo de Mesquita
> > Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
> > Paulista Presidente Prudente - São Paulo - Brasil
> > telefone: 5518 97718261
> > _______________________________________________
> > R-br mailing list
> > [hidden email]
> > 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/20190331/63f6d736/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Mon, 1 Apr 2019 00:29:25 -0300
> From: Alan Rodrigo Panosso <[hidden email]>
> To: a lista Brasileira oficial de discussão do programa R.
>         <[hidden email]>
> Subject: Re: [R-br]  Redistribuição das contagens de uma estrutura
>         de dados
> Message-ID:
>         <
> [hidden email]>
> Content-Type: text/plain; charset="utf-8"
>
> Prezado Paulo,
>
> Veja se ajuda, continuei a partir de seu exemplo.
> utilizei a função "grep()"
>
> names(df)
> A2<-apply(df[grep("[A]",names(df))],1,sum)
> B2<-apply(df[grep("[B]",names(df))],1,sum)
> C2<-apply(df[grep("[C]",names(df))],1,sum)
> df3<-data.frame(A2,B2,C2)
> df2 == df3
>
> Att
> Alan
>
>
>
>
> Em dom, 31 de mar de 2019 às 15:21, Paulo Eduardo de Mesquita por (R-br) <
> [hidden email]> escreveu:
>
> > Prezado(a)s Colegas,
> >
> > Peço a vossa ajuda para encontrar solução para o seguinte problema:
> >
> > Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
> > colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
> > código anexo).
> >
> > As colunas com nomes combinados são construídas através da "concatenação"
> > dos nomes de colunas simples.
> >
> > As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
> > aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
> >
> > Eu preciso redistribuir as contagens contidas nas colunas com nomes
> > combinados para colunas de nomes simples, de modo que se, em uma linha
> > qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
> > minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
> > mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
> > imagino eu, facilita a compreensão do problema.
> >
> > Muito obrigado pela atenção,
> > --
> > Paulo Eduardo de Mesquita
> > Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
> > Paulista Presidente Prudente - São Paulo - Brasil
> > telefone: 5518 97718261
> > _______________________________________________
> > R-br mailing list
> > [hidden email]
> > 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.
>
>
>
> --
>
>
>
> Alan Rodrigo Panosso
>
>
> ----------------------------------------------------------------------------
>
> Professor Assistente Doutor - Departamento de Ciências Exatas
> Faculdade de Ciências Agrárias e Veterinárias - FCAV - UNESP/Jaboticabal
>
> Via de Acesso Prof.Paulo Donato Castellane s/n
>
> 14884-900 - Jaboticabal, SP
>
> E_mail: alan.panosso@u <[hidden email]>nesp.br ou
>
> [hidden email]
> Tel.: (16) 3209-7210
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190401/cfd6a766/attachment-0001.html
> >
>
> ------------------------------
>
> Subject: Legenda do Digest
>
> _______________________________________________
> R-br mailing list
> [hidden email]
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>
> ------------------------------
>
> Fim da Digest R-br, volume 100, assunto 1
> *****************************************
>


--
Paulo Eduardo de Mesquita
Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
Paulista Presidente Prudente - São Paulo - Brasil
telefone: 5518 97718261
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190401/e424871c/attachment-0001.html>

------------------------------

Message: 2
Date: Mon, 1 Apr 2019 20:33:30 -0300
From: Alan Rodrigo Panosso <[hidden email]>
To: a lista Brasileira oficial de discussão do programa R.
        <[hidden email]>
Subject: Re: [R-br] Digest R-br, volume 100, assunto 1
Message-ID:
        <[hidden email]>
Content-Type: text/plain; charset="utf-8"

Prezado Paulo,

Ainda continuando o exemplo, veja se ajuda

nomes<-paste("[",LETTERS,"]",sep="")
df4<-data.frame(cidades=rownames(df3))
for(i in 1:length(nomes)){
  df4<-cbind(df4,apply(df[grep(nomes[i],names(df))],1,sum))
}
df4<-df4[-1]
names(df4)<-LETTERS
df4
df4[1:3]==df2

Att.
Alan

Em seg, 1 de abr de 2019 às 19:08, Paulo Eduardo de Mesquita por (R-br) <
[hidden email]> escreveu:

> Muito obrigado ao Alan e ao Vinicius pelas ideias.
>
> A solução proposta pelo Alan funciona perfeitamente no meu exemplo. Vou
> precisar pensar um pouco mais para reproduzi-la na minha estrutura de dados
> como um todo e não coluna por coluna como fiz no meu exemplo de trabalho.
> De qualquer forma, a sua ideia é um excelente ponto de partida.
>
> Sobre o princípio da parcimônia invocado pelo Vinícius, eu concordo.
> Talvez eu não sido muito feliz na descrição do problema. Não sei se vou
> conseguir agora, mas vou tentar novamente.
>
> Na minha base de dados original existe uma variável categórica que aceita
> duas subcategorias: simples (A, B, C, D, E, F, G, H . . .) e as combinadas
> (AC, CA, ABCDE, FHB, BCH . . .). Essa variável deve ser analisada em função
> de outra variável relacionada ao espaço (no meu exemplo, utilizei as
> cidades para representar essa variável). Na base de dados original são duas
> colunas com as quais eu construo uma estrutura matricial (tabela dinâmica),
> que por sua vez possui esses dois tipos de colunas as quais me refiro.  A
> solução que procuro visa realocar as frequências das colunas combinadas
> para as simples, criando uma nova estrutura que tenha apenas "colunas
> simples" mas que conserve a representação contida anteriormente nas colunas
> combinadas. Não sei se fiel ao principio da economia, todas elas partem da
> tabela dinâmica e não da estrutura original. É certo que deve haver outras
> soluções. Só não estou sendo capaz de enxerga-las.
>
> Muito obrigado pela ajuda,
>
> Paulo
>
>
> Em seg, 1 de abr de 2019 às 12:00, <[hidden email]>
> escreveu:
>
>> Enviar submissões para a lista de discussão R-br para
>>         [hidden email]
>>
>> Para se cadastrar ou descadastrar via WWW, visite o endereço
>>         https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
>> corpo da mensagem para
>>         [hidden email]
>>
>> Você poderá entrar em contato com a pessoa que gerencia a lista pelo
>> endereço
>>         [hidden email]
>>
>> Quando responder, por favor edite sua linha Assunto assim ela será
>> mais específica que "Re: Contents of R-br digest..."
>>
>>
>> Tópicos de Hoje:
>>
>>    1. Redistribuição das contagens de uma estrutura de dados
>>       (Paulo Eduardo de Mesquita)
>>    2. Re:  Redistribuição das contagens de uma estrutura de dados
>>       (Vinicius Brito Rocha)
>>    3. Re:  Redistribuição das contagens de uma estrutura de dados
>>       (Alan Rodrigo Panosso)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Sun, 31 Mar 2019 15:20:45 -0300
>> From: Paulo Eduardo de Mesquita <[hidden email]>
>> To: a lista Brasileira oficial de discussão do programa R.
>>         <[hidden email]>
>> Subject: [R-br] Redistribuição das contagens de uma estrutura de
>>         dados
>> Message-ID:
>>         <CABODYa729SrqoJHUOv9oTC7dS8W++fdRPCt=
>> [hidden email]>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Prezado(a)s Colegas,
>>
>> Peço a vossa ajuda para encontrar solução para o seguinte problema:
>>
>> Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
>> colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
>> código anexo).
>>
>> As colunas com nomes combinados são construídas através da "concatenação"
>> dos nomes de colunas simples.
>>
>> As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
>> aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
>>
>> Eu preciso redistribuir as contagens contidas nas colunas com nomes
>> combinados para colunas de nomes simples, de modo que se, em uma linha
>> qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
>> minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
>> mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
>> imagino eu, facilita a compreensão do problema.
>>
>> Muito obrigado pela atenção,
>> --
>> Paulo Eduardo de Mesquita
>> Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
>> Paulista Presidente Prudente - São Paulo - Brasil
>> telefone: 5518 97718261
>> -------------- Próxima Parte ----------
>> Um anexo em HTML foi limpo...
>> URL: <
>> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190331/8984a7ae/attachment-0001.html
>> >
>> -------------- Próxima Parte ----------
>> Um anexo não-texto foi limpo...
>> Nome: exemplo.R
>> Tipo: application/octet-stream
>> Tamanho: 630 bytes
>> Descrição: não disponível
>> URL: <
>> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190331/8984a7ae/attachment-0001.obj
>> >
>>
>> ------------------------------
>>
>> Message: 2
>> Date: Sun, 31 Mar 2019 15:29:51 -0300
>> From: Vinicius Brito Rocha <[hidden email]>
>> To: a lista Brasileira oficial de discussão do programa R.
>>         <[hidden email]>
>> Subject: Re: [R-br]  Redistribuição das contagens de uma estrutura
>>         de dados
>> Message-ID:
>>         <
>> [hidden email]>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Paulo,
>>
>> Confesso que fiquei confuso.
>> Vou tomar a liberdade de perguntar exatamente o q vc pretende resolver?
>> Pois vc trouxe a dúvida sobre a execução. De repente existem outras saídas
>> para o seu problema original.
>> Apenas seguindo o princípio da parcimônia.
>> Grande abraço.
>>
>>
>> Em dom, 31 de mar de 2019 15:21, Paulo Eduardo de Mesquita por (R-br) <
>> [hidden email]> escreveu:
>>
>> > Prezado(a)s Colegas,
>> >
>> > Peço a vossa ajuda para encontrar solução para o seguinte problema:
>> >
>> > Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
>> > colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
>> > código anexo).
>> >
>> > As colunas com nomes combinados são construídas através da
>> "concatenação"
>> > dos nomes de colunas simples.
>> >
>> > As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
>> > aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
>> >
>> > Eu preciso redistribuir as contagens contidas nas colunas com nomes
>> > combinados para colunas de nomes simples, de modo que se, em uma linha
>> > qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
>> > minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
>> > mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
>> > imagino eu, facilita a compreensão do problema.
>> >
>> > Muito obrigado pela atenção,
>> > --
>> > Paulo Eduardo de Mesquita
>> > Disciplina de Infectologia - Faculdade de Medicina  Universidade do
>> Oeste
>> > Paulista Presidente Prudente - São Paulo - Brasil
>> > telefone: 5518 97718261
>> > _______________________________________________
>> > R-br mailing list
>> > [hidden email]
>> > 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/20190331/63f6d736/attachment-0001.html
>> >
>>
>> ------------------------------
>>
>> Message: 3
>> Date: Mon, 1 Apr 2019 00:29:25 -0300
>> From: Alan Rodrigo Panosso <[hidden email]>
>> To: a lista Brasileira oficial de discussão do programa R.
>>         <[hidden email]>
>> Subject: Re: [R-br]  Redistribuição das contagens de uma estrutura
>>         de dados
>> Message-ID:
>>         <
>> [hidden email]>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Prezado Paulo,
>>
>> Veja se ajuda, continuei a partir de seu exemplo.
>> utilizei a função "grep()"
>>
>> names(df)
>> A2<-apply(df[grep("[A]",names(df))],1,sum)
>> B2<-apply(df[grep("[B]",names(df))],1,sum)
>> C2<-apply(df[grep("[C]",names(df))],1,sum)
>> df3<-data.frame(A2,B2,C2)
>> df2 == df3
>>
>> Att
>> Alan
>>
>>
>>
>>
>> Em dom, 31 de mar de 2019 às 15:21, Paulo Eduardo de Mesquita por (R-br) <
>> [hidden email]> escreveu:
>>
>> > Prezado(a)s Colegas,
>> >
>> > Peço a vossa ajuda para encontrar solução para o seguinte problema:
>> >
>> > Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
>> > colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
>> > código anexo).
>> >
>> > As colunas com nomes combinados são construídas através da
>> "concatenação"
>> > dos nomes de colunas simples.
>> >
>> > As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
>> > aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
>> >
>> > Eu preciso redistribuir as contagens contidas nas colunas com nomes
>> > combinados para colunas de nomes simples, de modo que se, em uma linha
>> > qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
>> > minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
>> > mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
>> > imagino eu, facilita a compreensão do problema.
>> >
>> > Muito obrigado pela atenção,
>> > --
>> > Paulo Eduardo de Mesquita
>> > Disciplina de Infectologia - Faculdade de Medicina  Universidade do
>> Oeste
>> > Paulista Presidente Prudente - São Paulo - Brasil
>> > telefone: 5518 97718261
>> > _______________________________________________
>> > R-br mailing list
>> > [hidden email]
>> > 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.
>>
>>
>>
>> --
>>
>>
>>
>> Alan Rodrigo Panosso
>>
>>
>> ----------------------------------------------------------------------------
>>
>> Professor Assistente Doutor - Departamento de Ciências Exatas
>> Faculdade de Ciências Agrárias e Veterinárias - FCAV - UNESP/Jaboticabal
>>
>> Via de Acesso Prof.Paulo Donato Castellane s/n
>>
>> 14884-900 - Jaboticabal, SP
>>
>> E_mail: alan.panosso@u <[hidden email]>nesp.br ou
>>
>> [hidden email]
>> Tel.: (16) 3209-7210
>> -------------- Próxima Parte ----------
>> Um anexo em HTML foi limpo...
>> URL: <
>> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190401/cfd6a766/attachment-0001.html
>> >
>>
>> ------------------------------
>>
>> Subject: Legenda do Digest
>>
>> _______________________________________________
>> R-br mailing list
>> [hidden email]
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>
>>
>> ------------------------------
>>
>> Fim da Digest R-br, volume 100, assunto 1
>> *****************************************
>>
>
>
> --
> Paulo Eduardo de Mesquita
> Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
> Paulista Presidente Prudente - São Paulo - Brasil
> telefone: 5518 97718261
> _______________________________________________
> R-br mailing list
> [hidden email]
> 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.



--



Alan Rodrigo Panosso

----------------------------------------------------------------------------

Professor Assistente Doutor - Departamento de Ciências Exatas
Faculdade de Ciências Agrárias e Veterinárias - FCAV - UNESP/Jaboticabal

Via de Acesso Prof.Paulo Donato Castellane s/n

14884-900 - Jaboticabal, SP

E_mail: alan.panosso@u <[hidden email]>nesp.br ou

[hidden email]
Tel.: (16) 3209-7210
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190401/2172d86a/attachment-0001.html>

------------------------------

Message: 3
Date: Tue, 2 Apr 2019 01:07:36 -0300
From: Cesar Rabak <[hidden email]>
To: a lista Brasileira oficial de discussão do programa R.
        <[hidden email]>
Subject: Re: [R-br]  Redistribuição das contagens de uma estrutura
        de dados
Message-ID:
        <[hidden email]>
Content-Type: text/plain; charset="utf-8"

Apenas aditando a elegante solução proposta pelo Alan,

Este comando:

> grep(",",colnames(df), invert=T)

permitiria identificar todas as colunas com nomes "simples" no jargão do OP.

Então, um primeiro data.frame poderia ser construído :

df2  <- df[grep(",",colnames(df), invert=T)]

Aí um laço for poderia explorar a ideia do Alan, trocando o argumento do
grep dele pelos nomes no novo dataframe.

A minha proposta é deliberadamente sugestiva, porque mesmo após as várias
explicações, ainda não entendi se as somas (como Alan fez) seriam feitas a
cada nova vinda de dados (praticamente reconstruindo o data.frame) ou se
algum mecanismo de acumulação teria que ser contemplado, com maior
complexidade para a automação desse trabalho.

HTH
--
Cesar Rabak



On Mon, Apr 1, 2019 at 12:29 AM Alan Rodrigo Panosso por (R-br) <
[hidden email]> wrote:

> Prezado Paulo,
>
> Veja se ajuda, continuei a partir de seu exemplo.
> utilizei a função "grep()"
>
> names(df)
> A2<-apply(df[grep("[A]",names(df))],1,sum)
> B2<-apply(df[grep("[B]",names(df))],1,sum)
> C2<-apply(df[grep("[C]",names(df))],1,sum)
> df3<-data.frame(A2,B2,C2)
> df2 == df3
>
> Att
> Alan
>
>
>
>
> Em dom, 31 de mar de 2019 às 15:21, Paulo Eduardo de Mesquita por (R-br) <
> [hidden email]> escreveu:
>
>> Prezado(a)s Colegas,
>>
>> Peço a vossa ajuda para encontrar solução para o seguinte problema:
>>
>> Eu tenho uma estrutura de dados do tipo tabela dinâmica cujos nomes de
>> colunas podem ser "simples" ou "combinações separadas por vírgulas" (ver
>> código anexo).
>>
>> As colunas com nomes combinados são construídas através da "concatenação"
>> dos nomes de colunas simples.
>>
>> As colunas com nomes combinados assumem formas imprevisíveis e ocorrem
>> aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.
>>
>> Eu preciso redistribuir as contagens contidas nas colunas com nomes
>> combinados para colunas de nomes simples, de modo que se, em uma linha
>> qualquer da minha tabela de origem, houver uma coluna AB com valor 3, na
>> minha tabela ajustada, o valor 3 será somado uma vez ao que já havia na
>> mesma linha correspondente das colunas A e B. O exemplo que segue anexo,
>> imagino eu, facilita a compreensão do problema.
>>
>> Muito obrigado pela atenção,
>> --
>> Paulo Eduardo de Mesquita
>> Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste
>> Paulista Presidente Prudente - São Paulo - Brasil
>> telefone: 5518 97718261
>> _______________________________________________
>> R-br mailing list
>> [hidden email]
>> 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.
>
>
>
> --
>
>
>
> Alan Rodrigo Panosso
>
>
> ----------------------------------------------------------------------------
>
> Professor Assistente Doutor - Departamento de Ciências Exatas
> Faculdade de Ciências Agrárias e Veterinárias - FCAV - UNESP/Jaboticabal
>
> Via de Acesso Prof.Paulo Donato Castellane s/n
>
> 14884-900 - Jaboticabal, SP
>
> E_mail: alan.panosso@u <[hidden email]>nesp.br ou
>
> [hidden email]
> Tel.: (16) 3209-7210
> _______________________________________________
> R-br mailing list
> [hidden email]
> 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/20190402/6a34d70c/attachment-0001.html>

------------------------------

Subject: Legenda do Digest

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br


------------------------------

Fim da Digest R-br, volume 100, assunto 2
*****************************************


--
Paulo Eduardo de Mesquita
Disciplina de Infectologia - Faculdade de Medicina  Universidade do Oeste Paulista Presidente Prudente - São Paulo - Brasil
telefone: 5518 97718261
_______________________________________________
R-br mailing list
[hidden email]
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
[hidden email]
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.