Я создаю структуру ввода двоичных таблиц истинности для проекта булева сетевого моделирования.Каждый узел в сети размером n может иметь различное количество входов k , что приводит к таблицам истинности различных размеров.
Я использую следующий биткода:
replicate(n, expand.grid(rep(list(0:1),times=k)), simplify=FALSE)
, который работает надлежащим образом, если n и k имеют фиксированные значения.
Например,в случае n = 3 и k = 2, я получаю три матрицы 4x4 0 и 1.Это полезный результат.
Моя цель - сделать что-то похожее с фиксированным k , замененным числовым вектором длины n таким, чтобы каждый элемент в векторепредставляет количество входов в соответствующем сетевом узле.
Например, если n = 3
и x <- c(2, 3, 2)
, я передам x в качестве аргумента, и на выходе получится 3 матрицы измерений 4x4, 8x8 и4x4.
Используя мой существующий код, когда я определяю k как вектор и пытаюсь использовать его в качестве аргумента times , я нахожу его недействительным.