я пытаюсь решить следующую задачу:Создание комбинации последовательностей
Рассмотрим 5 простых последовательностей: 0: 100, 100: 0, Rep (0101), Rep (50101), Rep (100101)
Мне нужны наборы из 3 числовых переменных, которые имеют выше последовательности во всех комбинациях. Так как существует 5 последовательностей и 3 переменных, могут быть 5 * 5 * 5 комбинаций, следовательно, общее количество 12625 (5 * 5 * 5 * 101) чисел в каждой переменной (101 для каждой последовательности).
Они могут быть сгруппированы в data.frame из 12625 строк и 4 столбцов. Первая колонка (V) будет просто иметь seq (1: 12625) (рябины могут использоваться на своем месте). Другие 3 столбца (A, B, C) будут иметь более 5 последовательностей в разных комбинациях. Например, первые 101 строки будут иметь 0: 100 во всех 3 A, B и C. Следующие 101 строки будут иметь 0: 100 в A и B и 100: 0 в C. И так далее ...
Я могу создавать последовательности как:
s = list()
s[[1]] = 0:100
s[[2]] = 100:0
s[[3]] = rep(0,101)
s[[4]] = rep(50,101)
s[[5]] = rep(100,101)
Но как продолжить дальше? Мне действительно не нужен кадр данных, но мне нужна функция, которая возвращает список, содержащий значения c (A, B, C) для числа (первого или V столбца), отправленного на него. Количество может, очевидно, варьироваться от 1 до 12625.
Как создать такую функцию. Я предпочел бы векторное решение или один, применяя семейные функции для оптимизации скорости.
Исправлено объяснение, спасибо за замечание. – SimonG
В ваших ответах представлены многие методы. – rnso