Foro de debate

Como rellenar una matriz a partir de los resultados de un loop (for)

 
Imagen de magdalena azocar salas
Como rellenar una matriz a partir de los resultados de un loop (for)
de magdalena azocar salas - lunes, 19 de febrero de 2018, 22:27
 
He estado trabajando con una base de datos haciendo diferentes operaciones. el resultado final es una tabla de 33 filas y una columna (que representa los datos para un año).

Para poder replicar esto a los 17 años que necesito hice un loop, sin embargo se que estoy reemplazando cada vez que corro el loop y no creando columnas que arrojen los resultados para los difernete años (es decir al final solo obtengo los valores correspondientes al año 17)

Necesito saber como puedo hacer que a esta tabla de 33x1 del año 1, se vaya a agregando al lado las otras columnas correspondientes a los demas años, a medida que el loop va corriendo, para asi solo tener una tabla de 33x17

Inicialmente cree una matriz para ir rellenando los resultados del loop pero aun no se como hacer que se vayan pegando en la matriz creada

BASE_FINAL<-matrix(NA,0,17)

Gracias de antemano

Imagen de Manuel Muñoz Márquez
Re: Como rellenar una matriz a partir de los resultados de un loop (for)
de Manuel Muñoz Márquez - martes, 20 de febrero de 2018, 07:47
 

Buenas Magdalena:

Si conoces el número de filas, digamos n, y el número de columnas, digamos m, entonces puede hacer crear la matriz:

BASE_FINAL <- matrix(NA, n, m)

Y en cada paso del bucle reemplazar la columna que corresponda:

for(i in 1:m) {
   ...
  B_COLUMNA <- ....
  BASE_FINAL[, i] <- B_COLUMNA
}

Un saludo.

Imagen de magdalena azocar salas
Re: Como rellenar una matriz a partir de los resultados de un loop (for)
de magdalena azocar salas - miércoles, 21 de febrero de 2018, 17:10
 

Muchas gracias me funciono

Saludos