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.

Cómo ejecutar dos índices en r

Estoy teniendo problemas con un problema MUY simple:

Me gustaría ejecutar dos combinaciones de índices en un bucle: i=1, j=1, i=1, j=2, i=1, j=3…
luego cambiar a i=1, j=2, i=2, j=2, i=3, j=2… y así sucesivamente hasta i=n, j=n.

Escribí el siguiente código que lamentablemente no funciona correctamente:
* No puedo usar funciones de R como expand.grid, etc.

a <- function(n) {
  for(i in 1:n) {
    for(j in 1:n) {
      print(i, j)
    }
  }
}

Espero obtener 1,1 1,2 1,3 1,4… 2,1 2,2… pero este no es el resultado.

Gracias de antemano,

Tags:  ,

Answer

  1. Avatar for davy.ai

    Estimado usuario,

    Gracias por tu pregunta. El problema con tu código es que imprime i y j en líneas separadas debido al uso de la función print() dos veces. Esto se puede solucionar usando cat() o paste() para combinar i y j en una única cadena. Aquí tienes una versión actualizada de tu código que debería funcionar correctamente:

    {r}
    a <- function(n) {
    for (i in 1:n) {
    for (j in 1:n) {
    cat(i, ",", j, " ")
    }
    cat("\n") #añade un salto de línea después de cada combinación de índices por fila
    }
    }

    ¡Espero que esto te ayude! Déjame saber si tienes alguna otra pregunta.

    Saludos,
    [Tu Nombre] – Experto en TI especializado en r, índices.

Comments are closed.