Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中,根据约束生成模型的每个可能解_R_Permutation - Fatal编程技术网

在R中,根据约束生成模型的每个可能解

在R中,根据约束生成模型的每个可能解,r,permutation,R,Permutation,在R中,我试图生成一个矩阵,显示模型的结果和用于求解它们的值——所有这些都是受约束的。所有可能的解决办法。一个示例模型: 模型=a^2+b^2+c^2+d^2 其中: 二十≤模型≤三十 a=1 二,≤B≤三, 二,≤C≤三, 三,≤D≤四, 我希望输出如下所示: [a] [b] [c] [d] [Model] [1] 1 3 2 3 23 [2] 1 2 2 4 25 [3] 1 3 3 3 28 [4] 1 2 3

在R中,我试图生成一个矩阵,显示模型的结果和用于求解它们的值——所有这些都是受约束的。所有可能的解决办法。一个示例模型:

模型=a^2+b^2+c^2+d^2

其中:

二十≤模型≤三十

a=1

二,≤B≤三,

二,≤C≤三,

三,≤D≤四,

我希望输出如下所示:

    [a] [b] [c] [d] [Model]
[1]  1   3   2   3    23
[2]  1   2   2   4    25
[3]  1   3   3   3    28
[4]  1   2   3   3    23
秩序不重要。我只想要可行[整数值]的完整排列。你能为我指路吗


在我的示例中,我希望根据我设置的参数生成所有可能的保持有效的输入(a、b、c、d)。我只希望输出方程(模型)中的值介于20和30之间。在这种情况下,根据我设置的条件,只有4种解决方案是可能的。

假设您只寻找整数解决方案,您可以使用
expand.grid()


dd假设您只寻找整数解决方案,可以使用
expand.grid()


这正是我要找的。非常感谢你。顺便说一句,我对自己无法[手动]解决所有可能的解决方案感到非常失望。内部的
函数有点太多了<代码>cbind(dd,m)[m>=20&m@Spacedman当然:)首先,我用
transform()避免使用
m
变量
而且我不喜欢两次输入一个我只想测试一次的变量。呃..
colsums
rowsums
在3.1.2上不可用。有没有办法不使用这些命令就创建每行总和的列?@Andrew你是说colsums和rowsums?函数名区分大小写。这正是我所知道的oking for。非常感谢。顺便说一句,我对自己无法[手动]解决所有可能的解决方案感到非常失望。内部的
函数有点多?
cbind(dd,m)[m>=20&m@Spacedman当然:)首先,我用
transform()避免使用
m
变量
而且我不喜欢两次输入一个我只想测试一次的变量。呃..
colsums
rowsums
在3.1.2上不可用。有没有办法不使用这些命令就为每行创建一列sum?@Andrew你是说colsums和rowsums?函数名区分大小写。
dd <- expand.grid(a=1, b=2:3, c=2:3, d=3:4)
m <- with(dd, a^2+b^2+c^2+d^2)
inside <- function(x, a,b) a<=x & x<=b
cbind(dd, m)[inside(m, 20, 30),]

#   a b c d  m
# 2 1 3 2 3 23
# 3 1 2 3 3 23
# 4 1 3 3 3 28
# 5 1 2 2 4 25
# 6 1 3 2 4 30
# 7 1 2 3 4 30