Итерировать по декартовому произведению векторов

У меня есть следующий вложенный цикл:

for (x in xs) {
    for (y in ys) {
        # Do something with x and y
    }
}

Который я хотел бы сплющить, поэтому я подумал о построении декартова произведения двух векторовxs а такжеys и итерации по результату. В Python это было бы тривиально:

for xy in product(xs, ys):
    # x, y = xy[0], xy[1]

Но в R самый простой эквивалент, который я нашел, выглядит устрашающе:

xys <- expand.grid(xs, ys)
for (i in 1 : nrow(xys)) {
    xy <- as.vector(xys[i, ])
    # x <- xy[1], y <- xy[2]
}

Конечно, должен быть лучший путь, нет? (Чтобы уточнить, я не хочу перебиратьindex & # x2026; & # xA0; Я думаю, что должен быть способ прямой итерации по кортежам в продукте.)

Ответы на вопрос(2)

Ваш ответ на вопрос