Pelo que eu entendi do teu código, aninhando 3 for () tu consegue o que tu quer:<div><br></div><div><div>n <- 4</div><div>dv <- matrix(0,n,n)</div><div>multivar <- matrix(rnorm(1000),ncol=4)</div><div>vector <- rep(0,4)</div>
<div>for (i in 1:n) { </div><div> for (j in i:n) {</div><div> for (k in 1:n) {</div><div> vector[k] <- (multivar[k,i]-multivar[k,j])^2</div><div> }</div><div> dv[i,j] <- dv[j,i] <- sqrt(sum(vector))</div><div>
}</div><div>}</div><div><br></div>Da pra criar em variaveis separadas (dv11, dv12, dv13...) usando o assign(), mas acho que em matriz é mais util pra ti.</div><div><br></div><div><br></div><div><br><div class="gmail_quote">
2012/9/17 Guilherme Heiden <span dir="ltr"><<a href="mailto:guilhermeheiden@hotmail.com" target="_blank">guilhermeheiden@hotmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div dir="ltr">
FH, eu recebi a tua resposta com os caracteres alterados, não consegui entender a tua resposta e ainda não conheço esse comando. Mas o resultado do cálculo é o seguinte:<div><br></div><div><div class="im"><div style="line-height:17px;color:rgb(42,42,42);font-family:'Segoe UI',Tahoma,Verdana,Arial,sans-serif">
[,1] [,2] [,3] [,4] [,5]</div><div style="line-height:17px;color:rgb(42,42,42);font-family:'Segoe UI',Tahoma,Verdana,Arial,sans-serif">[1,] dv11 dv12 dv13 dv14 dv15</div><div style="line-height:17px;color:rgb(42,42,42);font-family:'Segoe UI',Tahoma,Verdana,Arial,sans-serif">
[2,] - dv22 dv23 dv24 dv25</div><div style="line-height:17px;color:rgb(42,42,42);font-family:'Segoe UI',Tahoma,Verdana,Arial,sans-serif">[3,] - - dv33 dv34 dv35</div><div style="line-height:17px;color:rgb(42,42,42);font-family:'Segoe UI',Tahoma,Verdana,Arial,sans-serif">
[4,] - - - dv44 dv45</div><div style="line-height:17px;color:rgb(42,42,42);font-family:'Segoe UI',Tahoma,Verdana,Arial,sans-serif">[5,] - - - - dv55</div><div style="line-height:17px;color:rgb(42,42,42);font-family:'Segoe UI',Tahoma,Verdana,Arial,sans-serif">
<br></div></div><div style><div class="im"><div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px"> [,1] [,2] [,3] [,4] [,5]</span></font></div></div><div>
<font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px">[1,] 0.0 30.5 22.7 21.8 42.9</span></font></div><div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px">[2,] - 0.0 8.8 21.3 67.4</span></font></div>
<div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px">[3,] - - 0.0 12.7 59.7</span></font></div><div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px">[4,] - - - 0.0 64.5</span></font></div>
<div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px">[5,] - - - - 0.0</span></font></div><div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px"><br>
</span></font></div><div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px">Mas por exemplo, dv12 é: dv12=((5-20)^2+(9-18)^2+(35-11)^2+(3-10)^2)^(1/2)=30,5</span></font></div>
<div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px">Esse comando todo é o primeiro passo para uma matriz euclidiana, em que estou tirando os valores das distâncias das variáveis entre elas. Estou começando a programar para o método do vizinho mais próximo ou encadeamento único. </span></font></div>
<div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px"><br></span></font></div><div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px">Desde já, muito obrigado!</span></font></div>
<div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px">att,</span></font></div><div><font color="#2a2a2a" face="Segoe UI, Tahoma, Verdana, Arial, sans-serif"><span style="line-height:17px">Guilherme </span></font></div>
</div><br><div><div></div><hr>Date: Mon, 17 Sep 2012 10:07:26 -0300<br>From: <a href="mailto:fernandohtoledo@gmail.com" target="_blank">fernandohtoledo@gmail.com</a><br>To: <a href="mailto:r-br@listas.c3sl.ufpr.br" target="_blank">r-br@listas.c3sl.ufpr.br</a><br>
Subject: Re: [R-br] Comando for em cadeia<br><br>Guilherme,<div><br></div><div>Nada te impede de aninhar laþos for(). O que vocÛ chama de dvv?</div><div><br></div><div>Qual o resultado numÚrico dessa sua implementaþÒo?</div>
<div><br></div><div>att,</div><div>FH<br><br><div>
2012/9/17 Guilherme Heiden <span dir="ltr"><<a href="mailto:guilhermeheiden@hotmail.com" target="_blank">guilhermeheiden@hotmail.com</a>></span><br><blockquote style="border-left:1px #ccc solid;padding-left:1ex">
<div><div dir="ltr">
<div><div dir="ltr">Olß, eu talvez nÒo tenha sido claro no assunto do e-mail, mas na minha concepþÒo o problema Ú este: um comando for dentro de outro.<div class="im"><div><br></div><div>Eu estou trabalhando com a seguinte matriz:</div>
<div><br></div></div><div><div>á á á[,1] [,2] [,3] [,4] [,5]</div><div>[1,] á 20 á á5 á 11 á á7 á 49</div><div>[2,] á 18 á á9 á 10 á á2 á 45</div><div>[3,] á 11 á 35 á 30 á 15 á á7</div><div>[4,] á 10 á á3 á á7 á á4 á 26</div>
<div>
<br></div></div><div>E a partir desta eu gostaria de gerar outra matriz com a seguinte configuraþÒo:</div><div><br></div><div><div>á á á[,1] á á á[,2] á á [,3] á á[,4] á á[,5]</div><div>[1,] dv11 á dv12 á dv13 ádv14 á ádv15</div>
<div>[2,] á - á á ádv22 á dv23 á dv24 á ádv25</div><div>[3,] á - á á á á- á á á dv33 á dv34 á dv35</div><div>[4,] á - á á á á- á á á á- á á á dv44 á ádv45</div><div>[5,] á- á á á á- á á á á - á á á á - á á á dv55</div><div>
<br></div></div><div><b style="font-size:10pt">Para achar os devidos valores, eu criei a seguinte funþÒo:</b></div><div><span style="font-size:10pt">read.csv2("C:/multivar.csv",header=T)</span></div><div><div class="im">
multivar<-read.csv2("C:/multivar.csv",header=T)<br></div>
áattach(multivar)<br>
á<br>
<b><span style="background:yellow">##Criar DV11</span>:</b><br>
vetor1<-NULL<br>
áfor(i in 1:4) { <br>
ávetor1[i]<-(multivar[i,1]-multivar[i,1])^2<br>
á}<br>
dv11<-(sum(vetor1)^0.5)<br>
rm(vetor1)<div class="im"><br>
á<br>
<b><span style="background:yellow">##Criar DV12:</span></b><br>
vetor1<-NULL<br>
for(i in 1:4) { <br>
vetor1[i]<-(multivar[i,1]-multivar[i,2])^2<br>
}<br>
dv12<-(sum(vetor1)^0.5)<br>
rm(vetor1)<br><br><br></div>E assim sucessivamente.á<br><br><br><b>Minha d·vida:á</b><br><b>Hß a possibilidade de criar um comando "for" para os valores de dv serem criados automaticamente, ao invÚs de gerar um de cada vez, manualmente?</b><br>
<b><br></b><br><b><br></b><br></div> </div></div> </div></div><div class="im">
<br>_______________________________________________<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" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br></div>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneþa c¾digo mÝnimo reproduzÝvel.<br></blockquote></div><br></div>
<br>_______________________________________________
R-br mailing list
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forne�a c�digo m�nimo reproduz�vel.</div></div> </div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" 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" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>