我想在 Rcpp 中使用 r 函数的属性

问题描述

这是我的 cpp 代码.. 使用 lp 函数(使用 lpSolve 包)

我想分配 lp 结果的“解决方案”属性

这是下面代码中“lp(~~~)$solution[2]”的一部分。

有什么办法可以将结果传递到 cpp 中吗??

提前谢谢你。

#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
NumericVector po_adj(NumericVector prpsd_po,NumericVector pred_ord,NumericVector dmlt_po,NumericVector pred_stock,NumericVector last_avgord,NumericVector pred_ords,NumericVector len,NumericVector ld_time,NumericVector obj_1,NumericVector obj_2,NumericVector obj_3) {
  
  Environment base("package:lpSolve");
  Function lp = base["lp"];
  
  Environment base2("package:base");
  Function comb = base2["c"];
  Function matrix = base2["matrix"];
  
  int n = min(len)+1;
  NumericVector adj_PO(n);
  adj_PO[0]=prpsd_po[0];
  
  for(int i=0; i < n; i++) {
    int k = ld_time[i];
    int a;
    int b;
    int c;
    int rhs;
 
    ...
    
    prpsd_po[i+1] = lp(_["direction"] = "min",_["objective.in"] = comb(a-c,b),_["const.mat"] = matrix(comb(0,1),_["nrow"]=1),_["const.dir"] = ">=",_["const.rhs"] = comb(0,rhs))$solution[2];  <--- this makes error maybe..
  }
  return adj_PO;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)