<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Gostaria de pedir ajuda novamente sobre o mesmo problema.<div>Talvez Benilton ou outro usuário de loops possam ajudar. Acho que a resposta é muito simples.</div><div>Desde já agradeço.</div><div><br></div><div># Usando o arquivo abaixo com algumas células em branco (pois o valor não existe). Então o loop abaixo não funciona. Eu gostaria que o loop corresse pelo arquivo e, quando encontrasse um valor faltando, ele ignorasse e pulasse para o próximo valor, sem produzir um NA no meu output. Talvez usar if statement...</div><div><br></div><div>file: <span class="Apple-style-span" style="font-size: 12px; "><a href="http://www.datafilehost.com/download-9a400f40.html">http://www.datafilehost.com/download-9a400f40.html</a></span></div><div><span class="Apple-style-span" style="font-size: 12px; "><br></span></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; "><span style="color: #020202">pop</span> = read.csv("file.csv", <span style="color: #020202">row.names</span> = <span style="color: #010101">1</span>)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; color: rgb(2, 2, 2); ">counter<span style="color: #000000"> = </span><span style="color: #010101">1</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; "><span style="color: #c38806">while</span> (<span style="color: #020202">counter</span> < length(names(<span style="color: #020202">pop</span>))) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #020202">N</span> = length(c(<span style="color: #020202">pop</span>[ ,<span style="color: #020202">counter</span>]))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">   </span><span style="color: #020202">Names</span> = levels(factor(c(<span style="color: #020202">pop</span>[ ,<span style="color: #020202">counter</span>], <span style="color: #020202">pop</span>[ ,<span style="color: #020202">counter</span> + <span style="color: #010101">1</span>])))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">     </span><span style="color: #020202">ObsGen</span> = matrix(<span style="color: #010101">0</span>, <span style="color: #020202">nrow</span> = length(<span style="color: #020202">Names</span>), <span style="color: #020202">ncol</span> = length(<span style="color: #020202">Names</span>), <span style="color: #020202">dimnames</span> = list(<span style="color: #020202">Names</span>, <span style="color: #020202">Names</span>))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">       </span><span style="color: #c38806">for</span>(<span style="color: #020202">i</span> <span style="color: #c38806">in</span> <span style="color: #010101">1</span>:<span style="color: #020202">N</span>) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">             </span><span style="color: #020202">ObsGen</span>[paste(<span style="color: #020202">pop</span>[<span style="color: #020202">i</span>, <span style="color: #020202">counter</span>]), paste(<span style="color: #020202">pop</span>[<span style="color: #020202">i</span>, <span style="color: #020202">counter</span> + <span style="color: #010101">1</span>])] = <span style="color: #020202">ObsGen</span>[paste(<span style="color: #020202">pop</span>[<span style="color: #020202">i</span>, <span style="color: #020202">counter</span>]), paste(<span style="color: #020202">pop</span>[<span style="color: #020202">i</span>, <span style="color: #020202">counter</span> + <span style="color: #010101">1</span>])] + <span style="color: #010101">1</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; ">}</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; ">print(<span style="color: #020202">ObsGen</span>)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; color: rgb(2, 2, 2); ">counter<span style="color: #000000"> = </span>counter<span style="color: #000000"> + </span><span style="color: #010101">2</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 4px; text-indent: -4px; font: normal normal normal 11px/normal Monaco; ">}</div></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: Monaco; font-size: 11px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><font class="Apple-style-span" color="#232323"><br></font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: Monaco; font-size: 11px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><font class="Apple-style-span" color="#232323"><br></font></span></div><div><br></div><div><br></div><div><br></div><div><br><div><div><div>On Mar 12, 2012, at 11:55 AM, Vitor Aguiar wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Muito boa alternativa.<br>Muito obrigado Benilton!<br><br><br>On Mar 12, 2012, at 3:51 AM, Benilton Carvalho wrote:<br><br><blockquote type="cite">Desde que os nomes dos grupos nao sejam ambiguos:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">grupos <- unique(gsub("(.*)<a href="smb://.//d{1}$">\\.\\d{1}$</a>", "<a href="smb://1">\\1</a>", names(Pop)))<br></blockquote><blockquote type="cite">tabelaPorGrupo <- function(grp, dat){<br></blockquote><blockquote type="cite">   cols <- grep(grp, names(dat))<br></blockquote><blockquote type="cite">   Nomes <- levels(factor(c(dat[,cols[1]], dat[,cols[2]])))<br></blockquote><blockquote type="cite">   table(factor(Pop[,cols[1]], levels=Nomes), factor(Pop[,cols[2]],<br></blockquote><blockquote type="cite">levels=Nomes))<br></blockquote><blockquote type="cite">}<br></blockquote><blockquote type="cite">tabelas <- lapply(grupos, tabelaPorGrupo, Pop)<br></blockquote><blockquote type="cite">names(tabelas) <- grupos<br></blockquote><blockquote type="cite">tabelas<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">b<br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">R-br mailing list<br></blockquote><blockquote type="cite"><a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br></blockquote><blockquote type="cite"><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br></blockquote><blockquote type="cite">Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote><br><br></div></blockquote></div><br>
<br></div></div></body></html>