es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

R – cómo “insertar” un valor en una fila para una matriz de llenado

EDITAR

Hola, aquí tienes un ejemplo más reproducible.

Tengo un script en R que se basa en gran medida en esta entrada de blog y estoy tratando de hacer algunas modificaciones en cómo se construye la matriz de cada simulación.

Soy realmente malo con los bucles for en R, así que necesito un poco de ayuda para entenderlo.

Lo que espero hacer es encontrar una forma de inyectar un valor (rebasar) para una determinada fila (o filas)… tal vez estoy pensando demasiado en esto y estoy pasando por alto algo obvio?

# efectivo inicial para cada "simulación"
principle = 100

# suposición inicial de inflación
inflation = .05

# retornos iniciales
returns = .02

# número de unidades de tiempo (digamos meses)
n.obs = 5

# número de simulaciones (columnas)
n.sim = 5

# momento en que me jubilo y tengo acceso al plan de jubilación 401k
  t_retire = 4

# cantidad de dinero disponible para agregar a mi capital en t==t_retire
  retire = 100

# simular casos - todos son iguales en este ejemplo
nav = matrix(principle, n.obs + 1, n.sim)
for (j in 1:n.obs) {
  nav[j + 1, ] = (nav[j, ] * (1 + returns - inflation))
}

Quiero editar este bucle for para agregar el valor de “retire” a mi “principle” existente en la fila (t_retire) = 4.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para agregar el valor “retire” al valor existente “principle” en la fila “t_retire” de la matriz “nav”, puedes modificar el bucle for existente de la siguiente manera:

    for (j in 1:n.obs) {
      nav[j + 1, ] = (nav[j, ] * (1 + returns - inflation))
      if (j == t_retire) {
        nav[j + 1, ] = nav[j + 1, ] + retire
      }
    }
    

    Aquí, simplemente verificamos si la fila actual “j” es igual a “t_retire” y, si es así, agregamos el valor “retire” a la siguiente fila en la matriz “nav”.

    Esto debería lograr el resultado deseado de restablecer el valor principal en la fila especificada en cada simulación.

Comments are closed.