Hola Andrés Nooooo, no se complique, todo depende de cómo tiene los datos, pero puede ser tan simple como leer desde el data.frame un valor, a este sumarle 1 o restar 1, y agregarlo en una nueva columna en el data.frame. Sin funciones raras, solo con + o -. O muy complicado, a mí me llevó casi una semana encontrar el “bendito” contador.
Javier Marcuzzi > El 5 jul. 2022, a las 16:43, Andrés Hirigoyen <andreshirigo...@gmail.com> > escribió: > > Hola Javier, gracias por tu respuesta. > Hice algo similar a lo que propones con la función lag(), que retarda los > valores de la variable. El tema que cada vez que lo calculo o me sobreescribe > o me genera una nueva columna y termino con varias columnas nuevas. > > El mar, 5 jul 2022 a la(s) 16:36, Javier Marcuzzi > (javier.ruben.marcu...@gmail.com <mailto:javier.ruben.marcu...@gmail.com>) > escribió: > Estimado Andrés Hirigoyen > > Es bastante complejo pero puede resultar simple. > Todo depende de como trabajes con los datos, en una oportunidad en esa lista > me ayudaron utilizando do.call > > Yo intentaría primero modificando los datos, por ejemplo al data.frame > original le tomo y realizo un contador, que inicie en 0 e incremente en 1, a > este resultado se lo agrego en una nueva columna al mismo data.frame. > > Suponiendo que en los datos, cada registro tiene una numeración que inicia en > 1, la columna agregada comienza en 0, por lo que puedo realizar una búsqueda > de una columna sobre la otra que está corrida justo un número, pero en la > misma fila de datos, lo que facilita el recorrido. > > Es una idea, seguramente hay formas más eficientes, pero esta es simple de > entender. > > Javier Rubén Marcuzzi > > > > El 5 jul. 2022, a las 15:59, Andrés Hirigoyen <andreshirigo...@gmail.com > > <mailto:andreshirigo...@gmail.com>> escribió: > > > > Buenas tardes. > > Necesito ayuda para hacer una función o un bucle que me permita calcular > > una nueva variable empleando el valor anterior de la misma (para la > > observación anterior). En un dataframe de varias columnas. > > > > Por ejemplo: > > Para calcular el valor de NN para la observación 2, emplea el NN de la > > observación 1, para el NN de la tercera emplea el NN de la segunda y > > así hasta todas las observaciones. > > Algo así: > > NN(i-1)<-valor inicial > > NNi=NN(i-1)*(NN(i-1)-Alfa)^0.263 > > NNi+1=NN(i)*(NN(i)-Alfa)^0.263... > > > > NNn+1=NN(n)*(NN(n)-Alfa)^0.263 > > He intentado varias cosas pero no tuve suerte. Desde ya muchas gracias > > -- > > > > > > - > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org <mailto:R-help-es@r-project.org> > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > <https://stat.ethz.ch/mailman/listinfo/r-help-es> > > > > -- > Dr. Andrés Hirigoyen > Ing. Agr. (MSc) > Prof. Ciencias Biológicas > Scholar Andrés > <https://scholar.google.com/citations?hl=es&user=ubpY7s4AAAAJ&view_op=list_works&sortby=pubdate> > Researchgate Andrés <https://www.researchgate.net/profile/Andres-Hirigoyen> > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es