<div dir="ltr">Pelo que eu entendo, o Rcpp compila o codigo que você escreve em c++ numa função, então tem que ter o compilador, no linux ele usa o gcc, agora no windows não sei, mas imagino que esteja faltando o compilador. De uma olhada nesse post:<div>
<a href="http://www.r-bloggers.com/installing-rcpp-on-windows-7-for-r-and-c-integration/">http://www.r-bloggers.com/installing-rcpp-on-windows-7-for-r-and-c-integration/</a></div><div><div><div><br></div><div>E em outro forum, fui informado que o problema é o meu codigo mesmo, imagino que so da para fazer o algoritimo mandando os dois argumentos, o vetor e o tamanho dele.</div>
<div><a href="http://stackoverflow.com/questions/19472211/how-to-remove-an-element-in-numericvector-for-a-recursion-using-r-and-rcpp">http://stackoverflow.com/questions/19472211/how-to-remove-an-element-in-numericvector-for-a-recursion-using-r-and-rcpp</a><br>
</div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 20 de outubro de 2013 20:44, Mauro Sznelwar <span dir="ltr"><<a href="mailto:sznelwar@uol.com.br" target="_blank">sznelwar@uol.com.br</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>





<div bgcolor="#ffffff">
<div><font color="#0000ff" size="4" face="Arial"><strong>Windows 
XP</strong></font></div><div><div class="h5">
<blockquote style="BORDER-LEFT:#000000 2px solid;PADDING-LEFT:5px;PADDING-RIGHT:0px;MARGIN-LEFT:5px;MARGIN-RIGHT:0px">
  <div dir="ltr">
  <div>
  <div>@<span style="FONT-FAMILY:arial,sans-serif;WHITE-SPACE:nowrap;FONT-SIZE:13px;FONT-WEIGHT:bold">Mauro 
  Sznelwar</span></div></div>
  <div>Qual sistema operacional você esta usando?</div>
  <div>Parece que o erro tem haver de estar faltando alguma coisa, o compilador 
  de c++?</div>
  <div>Eu uso o ubunto aqui, e ja veio junto o compilador, o compilador está 
  instalado ae certinho?</div>
  <div>Na verdade eu não entendo muito bem de rcpp, estou apenas testando, mas 
  talvez seja algo nesse sentido o erro ae. Aqui funciona normal o codigo.</div>
  <div><br></div>
  <div><br></div>
  <div>E o vetor.erase(n) não funcionou :(</div>
  <div><br></div>
  <div>Quando eu tentei assim, deu uma msg de erro:<br></div>
  <div><br></div>
  <div>library(Rcpp)<br></div>
  <div>vetor<-sample(100)<br></div>
  <div><br></div>
  <div>> cppFunction("</div>
  <div>+     NumericVector insertionsortRC(NumericVector vetor) 
{</div>
  <div>+         int n = vetor.size();</div>
  <div>+         double aux;</div>
  <div>+         int i;</div>
  <div>+         if(n>1) {</div>
  <div>+             vetor.erase(n);</div>
  <div>+             insertionsortRC(vetor);</div>
  <div>+             aux=vetor[n-1];</div>
  <div>+             i=n-1;</div>
  <div>+             while(vetor[i-1]>aux 
  && i>=0 ) {</div>
  <div>+                 
  vetor[i]=vetor[i-1];</div>
  <div>+                 i--;</div>
  <div>+                 }</div>
  <div>+             vetor[i]=aux;</div>
  <div>+             }</div>
  <div>+         return vetor;</div>
  <div>+         }</div>
  <div>+     ")</div>
  <div>> insertionsortRC(vetor)</div>
  <div>*** Error in `/usr/lib/R/bin/exec/R': malloc(): memory corruption: 
  0x098db548 ***</div>
  <div><br></div>
  <div>Ai eu pensei se tinha algo haver com o indice, ai tentei com n-1, assim 
  no vetor.erase(n-1)</div>
  <div><br></div>
  <div>
  <div>> vetor</div>
  <div>  [1]  33  31  86  25  70  40  88 
   81  13  85  87  39  60  64  10 
   82  89  14  66  36  15  96  26</div>
  <div> [24]   4  54  29  83  55  68  91 
    6 100  51   7  53  99  65  23  94 
   57  90  32  47  16  50  28</div>
  <div> [47]   3  98  11  18  76  63  77 
   74  49   8  97  12  27  35  79 
   80  20  67  93   5  56   9  37</div>
  <div> [70]  24  92  69  38  44  17  46 
   43  34  19   2  95  72   1  61 
   41  62  22  42  21  84  48  78</div>
  <div> [93]  73  30  59  58  52  75  71 
   45</div>
  <div><br></div>
  <div>> insertionsortRC(vetor)</div>
  <div> [1] 3.607393e-313  3.300000e+01  3.100000e+01 
   8.600000e+01  2.500000e+01  7.000000e+01</div>
  <div> [7]  4.000000e+01  8.800000e+01  8.100000e+01 
   1.300000e+01  8.500000e+01  8.700000e+01</div>
  <div>[13]  3.900000e+01  6.000000e+01  6.400000e+01 
   1.000000e+01  8.200000e+01  8.900000e+01</div>
  <div>[19]  1.400000e+01  6.600000e+01  3.600000e+01 
   1.500000e+01  9.600000e+01  2.600000e+01</div>
  <div>[25]  4.000000e+00  5.400000e+01  2.900000e+01 
   8.300000e+01  5.500000e+01  6.800000e+01</div>
  <div>[31]  9.100000e+01  6.000000e+00  1.000000e+02 
   5.100000e+01  7.000000e+00  5.300000e+01</div>
  <div>[37]  9.900000e+01  6.500000e+01  2.300000e+01 
   9.400000e+01  5.700000e+01  9.000000e+01</div>
  <div>[43]  3.200000e+01  4.700000e+01  1.600000e+01 
   5.000000e+01  2.800000e+01  3.000000e+00</div>
  <div>[49]  9.800000e+01  1.100000e+01  1.800000e+01 
   7.600000e+01  6.300000e+01  7.700000e+01</div>
  <div>[55]  7.400000e+01  4.900000e+01  8.000000e+00 
   9.700000e+01  1.200000e+01  2.700000e+01</div>
  <div>[61]  3.500000e+01  7.900000e+01  8.000000e+01 
   2.000000e+01  6.700000e+01  9.300000e+01</div>
  <div>[67]  5.000000e+00  5.600000e+01  9.000000e+00 
   3.700000e+01  2.400000e+01  9.200000e+01</div>
  <div>[73]  6.900000e+01  3.800000e+01  4.400000e+01 
   1.700000e+01  4.600000e+01  4.300000e+01</div>
  <div>[79]  3.400000e+01  1.900000e+01  2.000000e+00 
   9.500000e+01  7.200000e+01  1.000000e+00</div>
  <div>[85]  6.100000e+01  4.100000e+01  6.200000e+01 
   2.200000e+01  4.200000e+01  2.100000e+01</div>
  <div>[91]  8.400000e+01  4.800000e+01  7.800000e+01 
   7.300000e+01  3.000000e+01  5.900000e+01</div>
  <div>[97]  5.800000e+01  5.200000e+01  7.500000e+01</div>
  <div>> </div></div>
  <div><br></div>
  <div>Ai não funcionou. Mandando o vetor e o n junto, tudo funcionava, então 
  acho que estou realizando alguma operação errada na chamada recursiva 
  ali.</div>
  <div><br></div>
  <div>Olhando a descrição do comando aqui:</div>
  <div><a href="http://www.cplusplus.com/reference/vector/vector/erase/" target="_blank">http://www.cplusplus.com/reference/vector/vector/erase/</a><br></div>
  <div><br></div>
  <div>Ele diz que apaga da memoria o valor, então imagino que talvez esteja 
  dando problema na volta da recursão. Acho que não é tão simples usar Rcpp 
  quanto imaginava.</div>
  <div>Quando no primeiro caso la ele diz "memory corruption: 0x098db548", esse 
  é o endereço de memoria que eu usei errado não é?</div>
  <div><br></div>
  <div><br></div>
  <div><br></div></div>
  <div class="gmail_extra"><br><br> </div></blockquote></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><br clear="all"><div><br></div>-- <br>
<div dir="ltr"><div>Grato<br>Augusto C. A. Ribas</div>
<div> </div>
<div>Site Pessoal: <a href="http://recologia.com.br/" target="_blank">http://recologia.com.br/</a><a href="http://augustoribas.heliohost.org" target="_blank"></a></div><div>Github: <a href="https://github.com/Squiercg" target="_blank">https://github.com/Squiercg</a></div>

<div>Lattes: <a href="http://lattes.cnpq.br/7355685961127056" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br></div></div>
</div>