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,
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.