<div dir="ltr"><div>Não há de que.</div><div><br></div>Ah, corrige só uma linha do código que ainda está errado (embora não afete o resultado, aparentemente). No final, troca por:<div><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px">y <- u[1:n,]</span><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-11-18 15:41 GMT-02:00 Daniela Recchia <span dir="ltr"><<a href="mailto:daniela_recchia@yahoo.com.br" target="_blank">daniela_recchia@yahoo.com.br</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12px"><div dir="ltr"><span>Muito obrigada Manoel!</span></div><div dir="ltr"><span><br></span></div><div dir="ltr"><span>Apesar se usar o R acabo não programando muita coisa sózinha, por isso quando tenho que fazer algo mesmo que simples as vezes me confundo. Por bug tinha entendido que eu deveria receber algum warning ou error do R, e como isso não ocorreu achei que estava tudo ok.</span></div><div dir="ltr"><span><br></span></div><div dir="ltr"><span>Muito obrigada e boa semana!</span></div><div dir="ltr"><span><br></span></div><div dir="ltr"><span>Abraços,</span></div><span class=""><div></div><div> </div><div><div><span style="font-size:16px">-- <br><font>Daniela Rodrigues Recchia</font></span></div><div><span style="font-size:16px"><font>M.Sc. in Statistics</font><br><var></var></span></div><div style="color:rgb(0,0,0);font-size:16px;font-family:arial,helvetica,clean,sans-serif;background-color:transparent;font-style:italic"><span style="font-size:16px"><font><br></font></span></div><div style="color:rgb(0,0,0);font-family:arial,helvetica,clean,sans-serif;font-style:normal;background-color:transparent"><span style="font-size:13px">Tel. (Mobil): <a href="tel:%2B49%2001578%207588382" value="+4915787588382" target="_blank">+49 01578 7588382</a></span></div><div><span style="font-size:16px"><font>Germany</font></span></div><div style="color:rgb(0,0,0);font-size:13px;font-family:arial,helvetica,clean,sans-serif;background-color:transparent;font-style:normal"><span style="font-size:16px"><font><br></font></span></div><div><span style="font-size:10px"></span></div><div><span style="font-size:10px"><span style="line-height:18px;font-family:'helvetica neue',arial,sans-serif;font-style:italic"><font>“The standard of success in life is absolutely the amount of joy you feel”</font></span><br></span><span style="font-size:13px"><span style="font-size:10px"><span style="line-height:18px;font-family:'helvetica neue',arial,sans-serif;font-style:italic"><font>Esther & Jerry Hick</font></span></span><br></span></div><div><span style="font-size:small"> </span></div></div> <div><br><br></div></span><div style="display:block"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12px"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div dir="ltr"> <font face="Arial"> Em Terça-feira, 18 de Novembro de 2014 18:37, Manoel Galdino <<a href="mailto:mcz.fea@gmail.com" target="_blank">mcz.fea@gmail.com</a>> escreveu:<br> </font> </div><div><div class="h5">  <br><br> <div><div><div><div dir="ltr">Se a sua função não faz o que deveria fazer, bem, então acho que ela tem um bug! =)<div><br clear="none"></div><div>Eu reescrevi sua função, eacho que agora funciona. Seu problema era de índice. Não existe índice 0 no R (diferentemente de C, por exemplo). Matriz, vetor etc. começa sempre em 1.</div><div><br clear="none"></div><div><div>conv2 <- function(n, m=0.1, dp=sqrt(0.05)) {</div><div>  u <- matrix(nrow=n+1,ncol=1)</div><div>  f <- function(x) {pnorm(x,m,dp)}</div><div>  p <- function(x) {f(x)}</div><div>  I <-  function (x) {-p(x)*log2(p(x)) }</div><div>  u[1,]<- I(0)</div><div>  for (i in 2:n) { </div><div>    f  <-  function(i) {pnorm(i*1/n,m,dp)}</div><div>    p <-  function(i) {f(i)-f(i-1)}</div><div>    u[i,]<- I(i)</div><div>  }</div><div>  y <-u[0:n,]</div><div>  y</div><div>}</div></div><div><br clear="none"></div><div><br clear="none"><div><br clear="none"></div><div><br clear="none"></div></div></div><div><br clear="none"><div>2014-11-18 15:12 GMT-02:00 Daniela Recchia <span dir="ltr"><<a rel="nofollow" shape="rect" href="mailto:daniela_recchia@yahoo.com.br" target="_blank">daniela_recchia@yahoo.com.br</a>></span>:<br clear="none"><div><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12px"><div dir="ltr"><span>Olá Manoel,</span></div><div dir="ltr"><span><br clear="none"></span></div><div dir="ltr"><span>obrigada pelo retorno. Não conhecia o GitHub obrigada pela indicação.</span></div><div dir="ltr"><span><br clear="none"></span></div><div dir="ltr"><span>A princípio os valores de m e dp são fixos, não são importantes nesse exemplo, e não tenho nenhum Bug pra solucionar, a função funciona perfeitamente, com a única exceção de que o valor para i=0 não é calculado corretamente.</span></div><div dir="ltr"><span><br clear="none"></span></div><div dir="ltr"><span>É isso mesmo que eu quero, ter os valores de f e p para então realizar a multiplicação que será retornada na matriz. Aqui um exemplo: (usei </span>m=0.1; <span style="font-size:12px">dp=sqrt(0.05))</span></div><div dir="ltr"><span style="font-size:12px"><br clear="none"></span></div><div dir="ltr">> conv(10)</div><div dir="ltr"> [1] 0.437497149 0.437497149 0.399621300 0.323958199 0.224710500 0.129711990</div><div dir="ltr"></div><div dir="ltr"> [7] 0.061315128 0.023552114 0.007329468 0.001846871</div><div dir="ltr"><br clear="none"></div><div dir="ltr">Veja que o primeiro e o segundo valores sãi iguais (o que na verdade corresponde a i=1) e é isso que quero resolver.</div><div dir="ltr"><br clear="none"></div><div dir="ltr">Abraços,</div><div dir="ltr"><br clear="none"></div><div dir="ltr">Daniela</div><div></div><div> </div><div><div><span style="font-size:16px">-- <br clear="none"><font>Daniela Rodrigues Recchia</font></span></div><div><span style="font-size:16px"><font>M.Sc. in Statistics</font><br clear="none"><var></var></span></div><div style="color:rgb(0,0,0);font-size:16px;font-family:arial,helvetica,clean,sans-serif;background-color:transparent;font-style:italic"><span style="font-size:16px"><font><br clear="none"></font></span></div><div style="color:rgb(0,0,0);font-family:arial,helvetica,clean,sans-serif;font-style:normal;background-color:transparent"><span style="font-size:13px">Tel. (Mobil): <a rel="nofollow" shape="rect">+49 01578 7588382</a></span></div><div><span style="font-size:16px"><font>Germany</font></span></div><span></span><div style="color:rgb(0,0,0);font-size:13px;font-family:arial,helvetica,clean,sans-serif;background-color:transparent;font-style:normal"><span style="font-size:16px"><font><br clear="none"></font></span></div><div><span style="font-size:10px"></span></div><div><span style="font-size:10px"><span style="line-height:18px;font-family:'helvetica neue',arial,sans-serif;font-style:italic"><font>“The standard of success in life is absolutely the amount of joy you feel”</font></span><br clear="none"></span><span style="font-size:13px"><span style="font-size:10px"><span style="line-height:18px;font-family:'helvetica neue',arial,sans-serif;font-style:italic"><font>Esther & Jerry Hick</font></span></span><br clear="none"></span></div><div><span style="font-size:small"> </span></div></div> <div><br clear="none"><br clear="none"></div><div style="display:block"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12px"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div dir="ltr"> <font face="Arial"> Em Terça-feira, 18 de Novembro de 2014 18:01, Manoel Galdino <<a rel="nofollow" shape="rect" href="mailto:mcz.fea@gmail.com" target="_blank">mcz.fea@gmail.com</a>> escreveu:<br clear="none"> </font> </div><div><div>  <br clear="none"><br clear="none"> <div><div><div><div dir="ltr">Seu código tá bem ruim de ler...<div>Recomendo que você utilize o GitHub para postar seus códigos. Além disso, ajudaria se você dissesse o que pretende com a função. Do jeito que está é bem difícil ajudar.</div><div><br clear="none"></div><div>Mas voltando a sua pergunta. Fiz algumas alterações no código (só reorganizei). Veja se está funcionando...</div><div><br clear="none"></div><div><br clear="none"><div><br clear="none"></div><div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">conv<- function(n) {</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                   u <- matrix(nrow=n+1,ncol=1)</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                        for (i in 0:n) { </div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                                if (i==0) {</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                                      f <- function(i) {pnorm(i,m,dp)}</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                                      p<- function(i) {f(i)}</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                                } else  {</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                                      f  <-  function(i) {pnorm(i*1/n,m,dp)}</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                                      p <-  function(i) {f(i)-f(i-1)}<br clear="none"></div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                               }</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                     I <-  function (i) {-p(i)*log2(p(i))}</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                     u[i,]<- I(i)}</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                   y <-u[0:n,]</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">                   y }</div></div></div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px"><br clear="none"></div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px"><br clear="none"></div><div style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">Use o browser pra você debugar seu código. <a rel="nofollow" shape="rect" href="http://adv-r.had.co.nz/Exceptions-Debugging.html" target="_blank">No livro do Hadley</a> tem mais explicações sobre como debugar um código.</div><div dir="ltr" style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px"><br clear="none"></div><div style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">abçs</div><div style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">M</div><div style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px"><br clear="none"></div><div style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">ps.: Onde que os argumentos 'm' e 'dp' entram na função? Eles são valores globais? Não é a prática mais recomendada...</div><div style="color:rgb(0,0,0);font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12px">ps.2: a cada iteração do loop, as funções f e p são subscritas, de forma que ao final você terá uma f e uma p, dada por i igual a n. É isso mesmo que você quer?</div></div><div><br clear="none"><div>On Tue, Nov 18, 2014 at 2:00 PM, Daniela Recchia <span dir="ltr"><<a rel="nofollow" shape="rect" href="mailto:daniela_recchia@yahoo.com.br" target="_blank">daniela_recchia@yahoo.com.br</a>></span> wrote:<br clear="none"><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12px"><div dir="ltr"><span>Boa tarde pessoal,</span></div><div dir="ltr"><span><br clear="none"></span></div><div dir="ltr"><span>tenho certeza que meu problema é bem simples mas não estou conseguindo visualizar a solução, criei a função:</span></div><div dir="ltr"><span><br clear="none"></span></div><div dir="ltr">conv<- function(n){u<-matrix(nrow=n+1,ncol=1)</div><div dir="ltr">                   for (i in 0:n) { </div><div dir="ltr">                     if(i==0) f<-function(i) {pnorm(i,m,dp)}</div><div dir="ltr">                     else     f<- function(i) {pnorm(i*1/n,m,dp)}</div><div dir="ltr">                     if(i==0) p<- function(i) {f(i)}</div><div dir="ltr">                     else     p<- function(i) {f(i)-f(i-1)}</div><div dir="ltr">                     I<- function (i) {-p(i)*log2(p(i))}</div><div dir="ltr">                     u[i,]<- I(i)}</div><div dir="ltr">                   y<-u[0:n,]; y}</div><div dir="ltr"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">Mas para o caso onde i==0 não está sendo feito corretamente, e preciso idendificar se não tenho problemas na condição <span style="font-size:11.8181819915771px">f(i)-f(i-1), o que ele retorna no lugar do i=0 é o valor do i=1.</span></div><div dir="ltr"><span style="font-size:11.8181819915771px"><br clear="none"></span></div><div dir="ltr"><span style="font-size:11.8181819915771px">Alguém saberia me dar uma dica?</span></div><div dir="ltr"><span style="font-size:11.8181819915771px"><br clear="none"></span></div><div dir="ltr"><span style="font-size:11.8181819915771px">Abraços,</span></div><div dir="ltr"><span style="font-size:11.8181819915771px"><br clear="none"></span></div><div dir="ltr"><span style="font-size:11.8181819915771px">Daniela</span></div><span><font color="#888888"></font></span><div></div><div> </div><div><div><span style="font-size:16px">-- <br clear="none"><font>Daniela Rodrigues Recchia</font></span></div><div><br clear="none"></div><div style="color:rgb(0,0,0);font-size:13px;font-family:arial,helvetica,clean,sans-serif;background-color:transparent;font-style:normal"><span style="font-size:16px"><font><br clear="none"></font></span></div><div><span style="font-size:10px"></span></div><div><span style="font-size:10px"><span style="line-height:18px;font-family:'helvetica neue',arial,sans-serif;font-style:italic"><font>“The standard of success in life is absolutely the amount of joy you feel”</font></span><br clear="none"></span><span style="font-size:13px"><span style="font-size:10px"><span style="line-height:18px;font-family:'helvetica neue',arial,sans-serif;font-style:italic"><font>Esther & Jerry Hick</font></span></span><br clear="none"></span></div><div><span style="font-size:small"> </span></div></div></div></div></div><br clear="none">_______________________________________________<br clear="none">
R-br mailing list<br clear="none">
<a rel="nofollow" shape="rect" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br clear="none">
<a rel="nofollow" shape="rect" 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 clear="none">
Leia o guia de postagem (<a rel="nofollow" shape="rect" 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 clear="none"></blockquote></div><br clear="none"><br clear="all"><div><br clear="none"></div>-- <br clear="none"><div>Manoel Galdino<br clear="none"><a rel="nofollow" shape="rect" href="https://sites.google.com/site/galdinomcz/" target="_blank">https://sites.google.com/site/galdinomcz/</a><br clear="none"></div>
</div></div></div><br clear="none"><br clear="none"></div>  </div></div></div> </div>  </div> </div></div></blockquote></div></div><br clear="none"><br clear="all"><div><br clear="none"></div>-- <br clear="none"><div>Manoel Galdino<br clear="none"><a rel="nofollow" shape="rect" href="https://sites.google.com/site/galdinomcz/" target="_blank">https://sites.google.com/site/galdinomcz/</a><br clear="none"></div>
</div></div></div><br><br></div>  </div></div></div> </div>  </div> </div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Manoel Galdino<br><a href="https://sites.google.com/site/galdinomcz/" target="_blank">https://sites.google.com/site/galdinomcz/</a><br></div>
</div>