[R-br] Redistribuição das contagens de uma estrutura de dados

Cesar Rabak cesar.rabak em gmail.com
Ter Abr 2 01:07:36 -03 2019


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) <
r-br em listas.c3sl.ufpr.br> 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) <
> r-br em listas.c3sl.ufpr.br> 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
>> 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.
>
>
>
> --
>
>
>
> 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 em u <alanrp em mat.feis.unesp.br>nesp.br ou
>
> arpanosso em yahoo.com.br
> Tel.: (16) 3209-7210
> _______________________________________________
> 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/20190402/6a34d70c/attachment.html>


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