<div dir="ltr">Hola Javier y Carlos, adjunto un ejemplo en excel para explicarme mejor, sigo sin conseguir el objetivo.<div>Carlos, el valor inicial se lo doy como input.<div>Saludos! </div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mar, 5 jul 2022 a la(s) 17:16, Carlos Ortega (<a href="mailto:cof@qualityexcellence.es">cof@qualityexcellence.es</a>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Hola,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Bueno, puedes combinar varios lags en la nueva variable...</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">> library(dplyr)<br>> myiris <- iris<br>> alfa <- 1.7<br>> expo <- 0.263<br>> myiris %>%<br>+ mutate( mynewSL = lag(Sepal.Length) * 2) %>%<br>+ mutate( <span style="color:rgb(255,0,0)"><b>mynewSLcompleja</b> = lag(Sepal.Length)*(lag(Sepal.Length)-alfa)^expo</span>) %>%<br>+ relocate( mynewSL, .before = Sepal.Width) %>%<br>+ relocate( mynewSLcompleja, .before = mynewSL) %>%<br>+ head()<br> Sepal.Length <b>mynewSLcompleja </b>mynewSL Sepal.Width Petal.Length Petal.Width Species<br>1 <b><span style="color:rgb(255,0,0)">5.1 </span></b> NA NA 3.5 1.4 0.2 setosa<br>2 4.9 <span style="color:rgb(255,0,0)">7.036378 </span> 10.2 3.0 1.4 0.2 setosa<br>3 4.7 6.653506 9.8 3.2 1.3 0.2 setosa<br>4 4.6 6.274523 9.4 3.1 1.5 0.2 setosa<br>5 5.0 6.086512 9.2 3.6 1.4 0.2 setosa<br>6 5.4 6.844460 10.0 3.9 1.7 0.4 setosa</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Gracias,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Carlos Ortega</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><a href="http://www.qualityexcellence.es" target="_blank">www.qualityexcellence.es</a><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mar, 5 jul 2022 a las 22:07, Andrés Hirigoyen (<<a href="mailto:andreshirigoyen@gmail.com" target="_blank">andreshirigoyen@gmail.com</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Gracias Carlos. <div>Siguiendo tu ejemplo, en mi nueva variable el valor de la observación 2 (<b><font color="#0000ff">10.2</font></b>) es el valor que entra para calcular el valor de la observación 3 (<b><font color="#0000ff">4.7 y 10.2</font></b>)</div><div><br></div><div>NNn+1=10.2*(10.2-4.7)^0.263<br></div><div>Saludos </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mar, 5 jul 2022 a la(s) 16:57, Carlos Ortega (<a href="mailto:cof@qualityexcellence.es" target="_blank">cof@qualityexcellence.es</a>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Hola,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">No entiendo muy bien lo que comentas de que aparecen nuevas variables.</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">De esta forma calculo un nuevo "Sepal.Length" que es el valor anterior multiplicado por 2.</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">> myiris %>%<br>+ mutate( mynewSL = lag(Sepal.Length) * 2) %>%<br>+ relocate( mynewSL, .before = Sepal.Width) %>%<br>+ head()<br> Sepal.Length <span style="color:rgb(255,0,0)">mynewSL</span> Sepal.Width Petal.Length Petal.Width Species<br>1 <span style="color:rgb(0,0,255)"> <b>5.1 </b> </span> NA 3.5 1.4 0.2 setosa<br>2 4.9 <b><span style="color:rgb(0,0,255)">10.2 </span> </b> 3.0 1.4 0.2 setosa<br>3 4.7 9.8 3.2 1.3 0.2 setosa<br>4 4.6 9.4 3.1 1.5 0.2 setosa<br>5 5.0 9.2 3.6 1.4 0.2 setosa<br>6 5.4 10.0 3.9 1.7 0.4 setosa</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Saludos,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Carlos Ortega</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><a href="http://www.qualityexcellence.es" target="_blank">www.qualityexcellence.es</a><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mar, 5 jul 2022 a las 21:47, Andrés Hirigoyen (<<a href="mailto:andreshirigoyen@gmail.com" target="_blank">andreshirigoyen@gmail.com</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hola Javier, gracias por tu respuesta.<br>
Hice algo similar a lo que propones con la función lag(), que retarda los<br>
valores de la variable. El tema que cada vez que lo calculo o me<br>
sobreescribe o me genera una nueva columna y termino con varias columnas<br>
nuevas.<br>
<br>
El mar, 5 jul 2022 a la(s) 16:36, Javier Marcuzzi (<br>
<a href="mailto:javier.ruben.marcuzzi@gmail.com" target="_blank">javier.ruben.marcuzzi@gmail.com</a>) escribió:<br>
<br>
> Estimado Andrés Hirigoyen<br>
><br>
> Es bastante complejo pero puede resultar simple.<br>
> Todo depende de como trabajes con los datos, en una oportunidad en esa<br>
> lista me ayudaron utilizando do.call<br>
><br>
> Yo intentaría primero modificando los datos, por ejemplo al data.frame<br>
> original le tomo y realizo un contador, que inicie en 0 e incremente en 1,<br>
> a este resultado se lo agrego en una nueva columna al mismo data.frame.<br>
><br>
> Suponiendo que en los datos, cada registro tiene una numeración que inicia<br>
> en 1, la columna agregada comienza en 0, por lo que puedo realizar una<br>
> búsqueda de una columna sobre la otra que está corrida justo un número,<br>
> pero en la misma fila de datos, lo que facilita el recorrido.<br>
><br>
> Es una idea, seguramente hay formas más eficientes, pero esta es simple de<br>
> entender.<br>
><br>
> Javier Rubén Marcuzzi<br>
><br>
><br>
> > El 5 jul. 2022, a las 15:59, Andrés Hirigoyen <<a href="mailto:andreshirigoyen@gmail.com" target="_blank">andreshirigoyen@gmail.com</a>><br>
> escribió:<br>
> ><br>
> > Buenas tardes.<br>
> > Necesito ayuda para hacer una función o un bucle que me permita calcular<br>
> > una nueva variable empleando el valor anterior de la misma (para la<br>
> > observación anterior). En un dataframe de varias columnas.<br>
> ><br>
> > Por ejemplo:<br>
> > Para calcular el valor de NN para la observación 2, emplea el NN de la<br>
> > observación 1, para el NN de la tercera emplea el NN de la segunda y<br>
> > así hasta todas las observaciones.<br>
> > Algo así:<br>
> > NN(i-1)<-valor inicial<br>
> > NNi=NN(i-1)*(NN(i-1)-Alfa)^0.263<br>
> > NNi+1=NN(i)*(NN(i)-Alfa)^0.263...<br>
> ><br>
> > NNn+1=NN(n)*(NN(n)-Alfa)^0.263<br>
> > He intentado varias cosas pero no tuve suerte. Desde ya muchas gracias<br>
> > --<br>
> ><br>
> ><br>
> > -<br>
> ><br>
> > [[alternative HTML version deleted]]<br>
> ><br>
> > _______________________________________________<br>
> > R-help-es mailing list<br>
> > <a href="mailto:R-help-es@r-project.org" target="_blank">R-help-es@r-project.org</a><br>
> > <a href="https://stat.ethz.ch/mailman/listinfo/r-help-es" rel="noreferrer" target="_blank">https://stat.ethz.ch/mailman/listinfo/r-help-es</a><br>
><br>
><br>
<br>
-- <br>
*Dr. **Andrés Hirigoyen*<br>
*Ing. Agr. **(MSc)*<br>
* Prof. Ciencias Biológicas*<br>
Scholar Andrés<br>
<<a href="https://scholar.google.com/citations?hl=es&user=ubpY7s4AAAAJ&view_op=list_works&sortby=pubdate" rel="noreferrer" target="_blank">https://scholar.google.com/citations?hl=es&user=ubpY7s4AAAAJ&view_op=list_works&sortby=pubdate</a>><br>
Researchgate Andrés <<a href="https://www.researchgate.net/profile/Andres-Hirigoyen" rel="noreferrer" target="_blank">https://www.researchgate.net/profile/Andres-Hirigoyen</a>><br>
<br>
-<br>
<br>
[[alternative HTML version deleted]]<br>
<br>
_______________________________________________<br>
R-help-es mailing list<br>
<a href="mailto:R-help-es@r-project.org" target="_blank">R-help-es@r-project.org</a><br>
<a href="https://stat.ethz.ch/mailman/listinfo/r-help-es" rel="noreferrer" target="_blank">https://stat.ethz.ch/mailman/listinfo/r-help-es</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><span style="font-family:verdana,sans-serif">Saludos,</span><br style="font-family:verdana,sans-serif">
<span style="font-family:verdana,sans-serif">Carlos Ortega</span><br style="font-family:verdana,sans-serif">
<span style="font-family:verdana,sans-serif"><a href="http://www.qualityexcellence.es" target="_blank">www.qualityexcellence.es</a></span></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="text-align:center"><div style="color:rgb(34,34,34)"><span style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif"> </span><b style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif"><i>Dr. </i></b><b><i><font color="#000000">Andrés Hirigoyen</font></i></b></div><div style="color:rgb(34,34,34)"><b style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif"><i>Ing. Agr. </i></b><b style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif"><i>(MSc)</i></b></div><div style="color:rgb(34,34,34)"><b><i><font color="#000000"> Prof. Ciencias Biológicas</font></i></b></div><div style="color:rgb(34,34,34)"><div style="text-align:start"><a href="https://scholar.google.com/citations?hl=es&user=ubpY7s4AAAAJ&view_op=list_works&sortby=pubdate" style="color:rgb(17,85,204)" target="_blank">Scholar Andrés</a></div><div style="text-align:start"><a href="https://www.researchgate.net/profile/Andres-Hirigoyen" style="color:rgb(17,85,204)" target="_blank">Researchgate Andrés</a></div></div></div><div style="text-align:center"><ul style="list-style:none;margin:0px;padding:0px;font-family:Roboto,Arial,sans-serif;line-height:1;text-align:left"><li style="line-height:1.3;margin-bottom:0.5em;display:inline"><font color="#000000"> </font></li></ul></div></div></div></div></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><span style="font-family:verdana,sans-serif">Saludos,</span><br style="font-family:verdana,sans-serif">
<span style="font-family:verdana,sans-serif">Carlos Ortega</span><br style="font-family:verdana,sans-serif">
<span style="font-family:verdana,sans-serif"><a href="http://www.qualityexcellence.es" target="_blank">www.qualityexcellence.es</a></span></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="text-align:center"><div style="color:rgb(34,34,34)"><span style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif"> </span><b style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif"><i>Dr. </i></b><b><i><font color="#000000">Andrés Hirigoyen</font></i></b></div><div style="color:rgb(34,34,34)"><b style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif"><i>Ing. Agr. </i></b><b style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif"><i>(MSc)</i></b></div><div style="color:rgb(34,34,34)"><b><i><font color="#000000"> Prof. Ciencias Biológicas</font></i></b></div><div style="color:rgb(34,34,34)"><div style="text-align:start"><a href="https://scholar.google.com/citations?hl=es&user=ubpY7s4AAAAJ&view_op=list_works&sortby=pubdate" style="color:rgb(17,85,204)" target="_blank">Scholar Andrés</a></div><div style="text-align:start"><a href="https://www.researchgate.net/profile/Andres-Hirigoyen" style="color:rgb(17,85,204)" target="_blank">Researchgate Andrés</a></div></div></div><div style="text-align:center"><ul style="list-style:none;margin:0px;padding:0px;font-family:Roboto,Arial,sans-serif;line-height:1;text-align:left"><li style="line-height:1.3;margin-bottom:0.5em;display:inline"><font color="#000000"> </font></li></ul></div></div></div></div></div></div>