Augusto,<br><br>No "yes" do seu primeiro ifelse você manda alterar todos os valores de y.values2 para sqrt(x.values). E faz isso de novo em todos os outros casos. O problema, na verdade, é que o ifelse não funciona com vetores lógicos no primeiro parâmetro, mas eu entendi o que você estava pensando e faz sentido mesmo.<br>
Para usar o ifelse no exemplo do livro você deveria fazer um laço de repetição com os índices dos vetores, assim como no livro:<br><br><div>x.values <- seq(-2, 2, by = 0.1)<br>n <- length(x.values)<div>y.values3 <- c()</div>
<div>for (i in 1:n){</div>
<div>x<-x.values[i]<br><span style="color: rgb(255, 0, 0);">ifelse(x > 1, y <- sqrt(x), ifelse(x <= 0, y <- -x^3, y <- x^2))</span></div><div>y.values3[i] <- y</div><div>}<br></div><div></div><div>plot(x.values, y.values3, type = "l")</div>
</div>all.equal(y.values, y.values3)<br><br>Abraços,<br>Lucas Cusinato<br><br><br><br><div class="gmail_quote">Em 29 de setembro de 2011 14:32, Augusto Ribas <span dir="ltr"><<a href="mailto:ribas.aca@gmail.com">ribas.aca@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><a href="http://img641.imageshack.us/img641/1373/testeeak.jpg" target="_blank">http://img641.imageshack.us/img641/1373/testeeak.jpg</a></div>
<div><br></div><div>Eu não entendo muito de matemática, é de um exercicio de um livro que estava resolvendo tentando melhorar um pouquinho.</div>
<div>Ta na imagem ali em cima. Eu interpretei certo?</div><div><br></div><div>Ai eu consegui fazer o que o exercício propunha mas não tinha entendido pq acontecia aqui com o ifelse, agora com a resposta do Benilton deu pra imaginar :)</div>

<div><br></div><div>Abraço :)</div><br><div class="gmail_quote">Em 29 de setembro de 2011 12:50, Pedro Rafael <span dir="ltr"><<a href="mailto:pedro.rafael.marinho@gmail.com" target="_blank">pedro.rafael.marinho@gmail.com</a>></span> escreveu:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class="h5"><span style="color:rgb(34, 34, 34);font-family:arial, sans-serif;font-size:13px;background-color:rgb(255, 255, 255)">  x ≤ 0  ∈ (0, 1]? não seria </span><span style="color:rgb(34, 34, 34);font-family:arial, sans-serif;font-size:13px;background-color:rgb(255, 255, 255)">x ≤ 0  ∈ [0, 1]?</span><br>



<br><div class="gmail_quote">Em 29 de setembro de 2011 12:28, beniltoncarvalho [via R-br] <span dir="ltr"><<a href="mailto:ml-node%2Bs2285057n3856260h37@n4.nabble.com" target="_blank">ml-node+s2285057n3856260h37@n4.nabble.com</a>></span> escreveu:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>

        As operações q vc executa dentro do ifelse são independentes. Por isso não há razoes para y.values2 reter o q vc espera q ele retenha. Ele reteve a ultima operação realizada. b</div><div><div></div><div><div>
<div></div><div><br><br>On Thursday, 29 September 2011, Augusto Ribas <<a href="http://user/SendEmail.jtp?type=node&node=3856260&i=0" rel="nofollow" link="external" target="_blank">[hidden email]</a>> wrote:<br>




> Ola a todos, tenho uma duvida aqui.<br>> Estou lendo um livro sobre programação em R e empaquei num problema aqui.<br>> Eu tenha a função:<br>>            x ≤ 0  ∈ (0, 1]    > 1<br>> f(x)       −x3        x2       √x<br>




><br>> ai resolvo no intervalo de -2 a 2 com o comando if:<br>> #começo do script<br>> rm(list=ls())<br>> # input<br>> x.values <- seq(-2, 2, by = 0.1)<br>> # for each x calculate y<br>> n <- length(x.values)<br>




> y.values <- rep(0, n)<br>> for (i in 1:n) {<br>> x<-x.values[i]<br>> # your expression for y goes here<br>> if (x>1)  {<br>>   y<-sqrt(x)<br>> } else {<br>>   if (x<=0) {<br>>     y<- -x^3<br>




>     } else {<br>>       y<- x^2<br>>   }<br>> }<br>> #end of y expression<br>> y.values[i] <- y<br>> }<br>> # output<br>> plot(x.values, y.values, type = "l")<br>> #até aqui tudo funcionou beleza.<br>




> #mas dai fui tentar fazer com ifelse a mesma coisa<br>> y.values2 <- rep(0, n)<br>> resultado<-ifelse(x.values>1,y.values2<-sqrt(x.values),<br>>   ifelse(x.values<=0,y.values2<- -x.values^3, y.values2<- x.values^2)<br>




> )<br>> #o vetor resultado fica correto<br>> resultado==y.values<br>> #mas o vetor y.values2 fica errado<br>> y.values2==y.values<br>> #o resultado ficou<br>>  [1] 8.000000 6.859000 5.832000 4.913000 4.096000 3.375000 2.744000 2.197000<br>




>  [9] 1.728000 1.331000 1.000000 0.729000 0.512000 0.343000 0.216000 0.125000<br>> [17] 0.064000 0.027000 0.008000 0.001000 0.000000 0.010000 0.040000 0.090000<br>> [25] 0.160000 0.250000 0.360000 0.490000 0.640000 0.810000 1.000000 1.048809 1.303840 1.341641 1.378405<br>




> [41] 1.414214<br>> #mas os valores que ficam salvos são no vetor y.values2 são:<br>>> y.values2<br>>  [1] 4.00 3.61 3.24 2.89 2.56 2.25 1.96 1.69 1.44 1.21 1.00 0.81 0.64 0.49 0.36<br>> [16] 0.25 0.16 0.09 0.04 0.01 0.00 0.01 0.04 0.09 0.16 0.25 0.36 0.49 0.64 0.81<br>




> [31] 1.00 1.21 1.44 1.69 1.96 2.25 2.56 2.89 3.24 3.61 4.00<br>> #minha duvida então é pq ele so resolve tudo elevando ao quadrado no y.values2<br>> #o que acontece, por exemplo, com o primeiro valor de resultado que vejo 8 qd mas fica salvo 4 quando vou olhar o y.values2.<br>




> #alguém pode me iluminar sobre o que esta acontecendo?<div><br>><br>><br>><br>><br>><br>> --<br>> Grato<br>> Augusto C. A. Ribas<br>>  <br>> Site Pessoal: <a href="http://augustoribas.heliohost.org" rel="nofollow" link="external" target="_blank">http://augustoribas.heliohost.org</a></div>




> Lattes: <a href="http://lattes.cnpq.br/7355685961127056" rel="nofollow" link="external" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br>><br>><br><br></div></div>-- <br>Successful people ask better questions, and as a result, they get better answers. (Tony Robbins)</div>


</div><div>
<br>
<br>_______________________________________________
<br>R-br mailing list
<br><a href="http://user/SendEmail.jtp?type=node&node=3856260&i=1" rel="nofollow" link="external" target="_blank">[hidden email]</a>
<br><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="nofollow" link="external" 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="nofollow" link="external" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.
        
        <br>
        <br>
        <hr color="#cccccc" noshade size="1">
        </div><div style="color:#444;font:12px tahoma,geneva,helvetica,arial,sans-serif"><div>
                <div style="font-weight:bold">If you reply to this email, your message will be added to the discussion below:</div>
                </div><a href="http://r-br.2285057.n4.nabble.com/R-br-Duvida-sobre-if-e-ifelse-no-R-tp3856175p3856260.html" target="_blank">http://r-br.2285057.n4.nabble.com/R-br-Duvida-sobre-if-e-ifelse-no-R-tp3856175p3856260.html</a>
        </div><div><div></div><div>
        <div style="color:#666;font:11px tahoma,geneva,helvetica,arial,sans-serif;margin-top:.4em">
                
                To unsubscribe from R-br, <a href="http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=cGVkcm8ucmFmYWVsLm1hcmluaG9AZ21haWwuY29tfDMzNTc5ODJ8NTAyMjI0MDYw" target="_blank">click here</a>.
        </div></div></div></blockquote></div><br><font color="#888888"><br clear="all"><div><br></div>-- <br><font color="#000099">Saudações,</font><div><font color="#000099">Pedro Rafael Diniz Marinho.</font></div><div><font color="#000099">Estatístico - Secretaria de Estado da Saúde - PB.</font></div>



<div><font color="#000099"><br></font></div><br>
</font><br></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><div class="im"><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></div></blockquote></div><br><br clear="all"><div><br></div>
-- <br><div><div></div><div class="h5">

<div>Grato<br>Augusto C. A. Ribas</div>
<div> </div>
<div>Site Pessoal: <a href="http://augustoribas.heliohost.org" target="_blank">http://augustoribas.heliohost.org</a></div>
<div>Lattes: <a href="http://lattes.cnpq.br/7355685961127056" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br></div><br>
</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>