Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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:从Excel解算器转换为lpSolve_R_Lpsolve - Fatal编程技术网

R:从Excel解算器转换为lpSolve

R:从Excel解算器转换为lpSolve,r,lpsolve,R,Lpsolve,直到最近,我的R使用仅限于使用ggplot等进行绘图。目前,我正在尝试使用lpSolve使用R解决线性问题,这证明是一个相当大的挑战。我正试图获得与MS Excel中的解算器类似的结果 我得到的是: A:一个20x6的矩阵,带有观测值 > head(Filtered) C1 C2 C3 C4 C5 C6 1 15.6 17.6 12.0 12.0 27.8 15.0 2 20.0 18.2 10.7 9.3 17.8 24.0 3

直到最近,我的R使用仅限于使用ggplot等进行绘图。目前,我正在尝试使用lpSolve使用R解决线性问题,这证明是一个相当大的挑战。我正试图获得与MS Excel中的解算器类似的结果

我得到的是:

A:一个20x6的矩阵,带有观测值

> head(Filtered)
    C1   C2    C3     C4     C5   C6
1 15.6 17.6  12.0   12.0   27.8 15.0
2 20.0 18.2  10.7    9.3   17.8 24.0
3 20.5 19.5  11.3   10.8   17.2 20.7
4 21.3 20.9  11.6   10.5   19.7 15.9
5 26.7 28.7  14.9   10.2    8.9 10.5
6 25.5 28.1  14.7    9.9    9.9 11.9
> measSSA
 [1] 19.4 29.3 29.5 33.9 51.0 45.0 30.8 39.9 31.3 41.3 33.1 32.6 36.9 35.6 41.3 27.7 35.0 27.8 34.6 13.4
B:一个20x1的向量,带有观测值

> head(Filtered)
    C1   C2    C3     C4     C5   C6
1 15.6 17.6  12.0   12.0   27.8 15.0
2 20.0 18.2  10.7    9.3   17.8 24.0
3 20.5 19.5  11.3   10.8   17.2 20.7
4 21.3 20.9  11.6   10.5   19.7 15.9
5 26.7 28.7  14.9   10.2    8.9 10.5
6 25.5 28.1  14.7    9.9    9.9 11.9
> measSSA
 [1] 19.4 29.3 29.5 33.9 51.0 45.0 30.8 39.9 31.3 41.3 33.1 32.6 36.9 35.6 41.3 27.7 35.0 27.8 34.6 13.4
c:带约束决策变量的6x1向量

> c
[1] 0.95 2.79 3.91 5.74 5.29 5.64
> d
[1]  0.0022  4.0000 10.7000 21.1000 44.5000 70.6000
d:具有约束决策变量的6x1向量

> c
[1] 0.95 2.79 3.91 5.74 5.29 5.64
> d
[1]  0.0022  4.0000 10.7000 21.1000 44.5000 70.6000
然后,我根据A中对应的行以及向量c和d计算B中每个元素的模拟值

Constant = 0.00377
Result = t(t((Constant*A)%*%diag(c))/d)
Simulated = rowSums(Result)
然后我想做的是最小化B和模拟向量之间的均方误差,这将给我最佳拟合

MSE = sum((B-Simulated)^2)/20
我想用lpSolve做的是改变向量c和d的值以最小化MSE。然而,尽管我能够将向量c和d作为约束变量放入lpSolve,但我无法将MSE设置为最小化目标。我该怎么做呢


谢谢

最好包含示例数据并显示您尝试的内容。如何在lpSolve中建模均方误差?我已经添加了一些数据和代码。我希望这澄清了我想要做的事情。最好包括示例数据并展示您的尝试。如何在lpSolve中建模均方误差?我已经添加了一些数据和代码。我希望这能澄清我想做什么。