【问题标题】:Rcpp: Obvious error when using igraph functionsRcpp:使用 igraph 函数时出现明显错误
【发布时间】:2020-04-20 07:16:39
【问题描述】:


我对 Rcpp 很陌生。抱歉,如果我遗漏了一些明显的东西。
但是当我尝试在 Rcpp 中使用 igraph 函数时,我在左侧遇到以下明显错误:
“无法使用“const char[15]”类型的左值初始化“RCPP:Environment”(又名“int”)类型的变量
这是代码

#include <Rcpp.h>
// [[Rcpp::plugins(cpp11)]]
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector insideOfCommEdgeIdsCpp(CharacterVector g, CharacterVector v) {
Environment igraph("package:igraph");
Function game_er = igraph["erdos.renyi.game"];
Function get_adjacency = igraph["get.adjacency"];
}

【问题讨论】:

    标签: r function igraph rcpp


    【解决方案1】:

    您的文件中有一些小错误:

    • 声明为NumericVector,但没有返回任何内容
    • Environment igraph 设置不正确。

    以下是更正版本。值得重复一遍:任何从 C++ 调用的 R 函数仍然是 R 函数,它们以 R 函数的速度运行。

    更正的代码

    #include <Rcpp.h>
    // [[Rcpp::plugins(cpp11)]]
    using namespace Rcpp;
    // [[Rcpp::export]]
    void insideOfCommEdgeIdsCpp(CharacterVector g, CharacterVector v) {
      Environment igraph = Environment("package:igraph");
      Function game_er = igraph["erdos.renyi.game"];
      Function get_adjacency = igraph["get.adjacency"];
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-24
      • 2012-11-19
      相关资源
      最近更新 更多