<div dir="ltr"><div dir="ltr"><div dir="ltr">Apenas aditando a elegante solução proposta pelo Alan,<div><br></div><div>Este comando:</div><div><br></div><div><font face="monospace, monospace">> grep(",",colnames(df), invert=T)</font></div><div><br></div><div>permitiria identificar todas as colunas com nomes "simples" no jargão do OP.</div><div><br></div><div>Então, um primeiro <font face="monospace, monospace">data.frame</font> poderia ser construído : </div><div><br></div><div><font face="monospace, monospace">df2 <- df[grep(",",colnames(df), invert=T)]</font><br></div><div><br></div><div>Aí um laço for poderia explorar a ideia do Alan, trocando o argumento do <font face="monospace, monospace">grep</font> dele pelos nomes no novo dataframe.</div><div><br></div><div>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 <font face="monospace, monospace">data.frame</font>) ou se algum mecanismo de acumulação teria que ser contemplado, com maior complexidade para a automação desse trabalho.</div><div><br></div><div>HTH</div><div>--</div><div>Cesar Rabak</div><div><br></div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 1, 2019 at 12:29 AM Alan Rodrigo Panosso por (R-br) <<a href="mailto:r-br@listas.c3sl.ufpr.br">r-br@listas.c3sl.ufpr.br</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Prezado Paulo, <br></div><div><br></div><div>Veja se ajuda, continuei a partir de seu exemplo.<br></div><div>utilizei a função "grep()"</div><div><br></div><div>names(df)<br>A2<-apply(df[grep("[A]",names(df))],1,sum)<br>B2<-apply(df[grep("[B]",names(df))],1,sum)<br>C2<-apply(df[grep("[C]",names(df))],1,sum)<br>df3<-data.frame(A2,B2,C2)<br>df2 == df3</div><div><br></div><div>Att</div><div>Alan<br></div><div><br></div><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em dom, 31 de mar de 2019 às 15:21, Paulo Eduardo de Mesquita por (R-br) <<a href="mailto:r-br@listas.c3sl.ufpr.br" target="_blank">r-br@listas.c3sl.ufpr.br</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Prezado(a)s Colegas,<div><br></div><div>Peço a vossa ajuda para encontrar solução para o seguinte problema:</div><div><br></div><div>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).</div><div><br></div><div>As colunas com nomes combinados são construídas através da "concatenação" dos nomes de colunas simples. </div><div><br></div><div>As colunas com nomes combinados assumem formas imprevisíveis e ocorrem aleatoriamente conforme a base de dados que lhe dá origem vai crescendo.</div><div><br></div><div>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.</div><div><br></div><div>Muito obrigado pela atenção,<br><div>-- <br></div><div><div dir="ltr" class="gmail-m_-2627702313490969559gmail-m_-8656434480526209881m_-2183316225887796020gmail_signature">Paulo Eduardo de Mesquita<br>Disciplina de Infectologia - Faculdade de Medicina Universidade do Oeste Paulista Presidente Prudente - São Paulo - Brasil<br>telefone: 5518 97718261</div></div></div></div>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail-m_-2627702313490969559gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><p> </p>
<p><a name="m_-2627702313490969559_SignatureSanitizer_SafeHtmlFilter_UNIQUE_ID_SafeHtmlFilter__MailAutoSig">Alan Rodrigo Panosso</a></p>
<p>----------------------------------------------------------------------------</p>
<p>Professor Assistente Doutor -
Departamento de Ciências Exatas<br>
Faculdade de Ciências Agrárias e Veterinárias - FCAV - UNESP/Jaboticabal<br></p><p>Via de Acesso Prof.Paulo Donato Castellane s/n </p><p><font size="2" face="arial, helvetica, sans-serif">14884-900 - Jaboticabal, SP</font></p><p><font size="2" face="arial, helvetica, sans-serif">E_mail: <span style="color:blue"><a href="mailto:alanrp@mat.feis.unesp.br" target="_blank">alan.panosso@u</a><a href="http://nesp.br" target="_blank">nesp.br</a></span> ou<br></font></p><p>
<font size="2" face="arial, helvetica, sans-serif"><a href="mailto:arpanosso@yahoo.com.br" target="_blank"><span style="color:blue">arpanosso@yahoo.com.br</span></a><br>
Tel.: (16) 3209-7210</font></p></div></div></div></div></div></div>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</blockquote></div>