Iterar sobre producto cartesiano de vectores.
Tengo el siguiente bucle anidado:
for (x in xs) {
for (y in ys) {
# Do something with x and y
}
}
Que me gustaría aplanar, así que pensé en construir un producto cartesiano de los dos vectoresxs
yys
y repitiendo el resultado. En Python, esto sería trivial:
for xy in product(xs, ys):
# x, y = xy[0], xy[1]
Pero en R, el equivalente más simple que he encontrado se ve desalentador:
xys <- expand.grid(xs, ys)
for (i in 1 : nrow(xys)) {
xy <- as.vector(xys[i, ])
# x <- xy[1], y <- xy[2]
}
Seguramente debe haber una mejor manera, ¿no? (Para aclarar, no quiero iterar sobre unaíndice ... Creo que debe haber una manera de iterar directamente sobre las tuplas en el producto.)