我正在为布尔网络建模项目创建二进制真值表的输入结构。大小为n的网络中的每个节点可能有不同数量的输入k,从而产生不同维度的真值表。
我正在使用以下代码:
replicate(n, expand.grid(rep(list(0:1),times=k)), simplify=FALSE)
如果n和k具有固定值,则它可以正常工作。
例如,在 n = 3 和 k = 2 的情况下,我得到三个 0 和 1 的 4x4 矩阵。这是一个有用的结果。
我的目标是做一些类似的事情,将固定的k替换为长度为n的数值向量,以便向量中的每个元素代表相应网络节点中的输入数量。
例如,如果n = 3
和x <- c(2, 3, 2)
,我会将 x 作为参数传递,输出将是 3 个尺寸为 4x4、8x8 和 4x4 的矩阵。
使用我现有的代码,当我将 k 定义为向量并尝试将其用作时间参数时,我发现它无效。