天道酬勤,学无止境

需要 OpenCPU 和 igraph 输出格式的帮助(Need help for OpenCPU and igraph output format)

问题

我的数据邻接数组是

var g = [[10, 2], [15, 0], [18, 3], [19, 6], [20, 8.5], [25, 10], [30, 9], [35, 8], [40, 5], [45, 6], [50, 2.5]]

我的 OpenCPU 代码是

            ocpu.call("centralization.closeness", {graph: g}, function(res){
            // console.log(ocpu.seturl(res.output[0]));
            $http.get("//public.opencpu.org/"+res.output[0]+"/json").success(function(data) {
                console.log(data);
            });
        });

这是给错误

OpenCPU 错误 HTTP 400 不是图形对象

通话中:centralization.closeness(graph = g)

回答1

centralization.closeness采用图形对象而不是数组

建议

  • 将数组转换为邻接矩阵
  • 使用graph_from_adjacency_matrix将矩阵转换为图形。
  • 将结果图传递给centralization.closeness

编辑:这里的解决方案:https://jsfiddle.net/bowofola/pskezhLq/2/

 var graph = [ [0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1], [1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0], [1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0], [1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1], [0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1], [0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1], [0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0], [1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1], [1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1], [1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1], [1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0], [1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0] ]; //set CORS to call igraph package ocpu.seturl("https://public.opencpu.org/ocpu/library/igraph/R"); var graphSession; $('#output').text(graph.toString()); $('#adjMatrix').click(function() { ocpu.call("graph_from_adjacency_matrix", { adjmatrix: graph, mode: 'directed', weighted: true }, function(session) { graphSession = session; //retrieve session console (async) graphSession.getConsole(function(outtxt) { $("#output").text(outtxt); $("#centralize").prop('disabled', false); }); }).fail(function() { alert("Error: " + req.responseText); }); }); $('#centralize').click(function() { var centralizeReq = ocpu.call("centralization.closeness", { graph: graphSession, mode: "all", normalized: true }, function(centralizeSession) { centralizeSession.getConsole(function(outtxt) { $("#output").text(outtxt); }); }).fail(function() { alert("Error: " + req.responseText); }); });
 <script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> <script src="https://cdn.opencpu.org/opencpu-0.4.js"></script> <div> <textarea name="" id="output" cols="60" rows="10"></textarea> <br /> <button id="adjMatrix">Graph From Adj</button> <button id="centralize" disabled>Centralize</button> </div>

有关使用 open cpu 的更多示例,请访问此处:http://jsfiddle.net/user/opencpu/fiddles/

回答2

您希望 OpenCPU 运行的究竟是什么? 目前您正在运行此代码:

library(igraph)
g <- jsonlite::fromJSON('[[10, 2], [15, 0], [18, 3], [19, 6], [20, 8.5], [25, 10], [30, 9], [35, 8], [40, 5], [45, 6], [50, 2.5]]')
igraph::centralization.closeness(g)

在 R 中运行它时,你会得到同样的错误。 您需要编写一个包装函数,将矩阵转换为可以传递给centralization.closeness

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Need help for OpenCPU and igraph output format
    My data Adjancy array is var g = [[10, 2], [15, 0], [18, 3], [19, 6], [20, 8.5], [25, 10], [30, 9], [35, 8], [40, 5], [45, 6], [50, 2.5]] and my OpenCPU code is ocpu.call("centralization.closeness", {graph: g}, function(res){ // console.log(ocpu.seturl(res.output[0])); $http.get("//public.opencpu.org/"+res.output[0]+"/json").success(function(data) { console.log(data); }); }); this is giving error OpenCPU error HTTP 400 Not a graph object In call: centralization.closeness(graph = g)
  • OpenCPU 错误 HTTP 400 不是图形对象(OpenCPU error HTTP 400 Not a graph object)
    问题 我正在使用 Angularjs 和 OpenCPU 通过 Igraph R 包计算一些数据 图是由java脚本生成的邻接矩阵/数组 [[0,1,1,0,1,1,0,0,0,1,1,1,1,1],[1,0,1,1,1,1,1,1,1,1,0,1,1,1],[1,1,0,1,0,1,1,1,1,1,1,1,1,1],[0,1,1,0,1,0,0,0,0,1,0,1,0,0],[1,1,0,1,0,1,0,0,0,1,1,0,1,0],[1,1,1,0,1,0,0,1,0,1,1,1,1,1],[0,1,1,0,0,0,0,1,0,0,1,1,1,1],[0,1,1,0,0,1,1,1,1,1,0,1,0,1],[0,1,1,0,0,0,0,1,0,1,1,0,0,0],[1,1,1,1,1,1,0,1,1,0,0,0,0,1],[1,0,1,0,1,1,1,0,1,0,0,0,1,1],[1,1,1,1,0,1,1,1,0,0,0,0,1,1],[1,1,1,0,1,1,1,0,0,0,1,1,0,0],[1,1,1,0,0,1,1,1,0,1,1,1,0,0]] 我的代码是 ocpu.call("graph_from_adjacency_matrix", {adjmatrix: graph, mode:'directed', weighted:true}, function
  • OpenCPU error HTTP 400 Not a graph object
    I m using Angularjs and OpenCPU to calculate some data through Igraph R Package Graph is a adjacency matrix/Array generate by java script [[0,1,1,0,1,1,0,0,0,1,1,1,1,1],[1,0,1,1,1,1,1,1,1,1,0,1,1,1],[1,1,0,1,0,1,1,1,1,1,1,1,1,1],[0,1,1,0,1,0,0,0,0,1,0,1,0,0],[1,1,0,1,0,1,0,0,0,1,1,0,1,0],[1,1,1,0,1,0,0,1,0,1,1,1,1,1],[0,1,1,0,0,0,0,1,0,0,1,1,1,1],[0,1,1,0,0,1,1,1,1,1,0,1,0,1],[0,1,1,0,0,0,0,1,0,1,1,0,0,0],[1,1,1,1,1,1,0,1,1,0,0,0,0,1],[1,0,1,0,1,1,1,0,1,0,0,0,1,1],[1,1,1,1,0,1,1,1,0,0,0,0,1,1],[1,1,1,0,1,1,1,0,0,0,1,1,0,0],[1,1,1,0,0,1,1,1,0,1,1,1,0,0]] My code is ocpu.call("graph_from
  • Rmpi、OpenCPU 和 Apparmor:拒绝对“/”的请求(Rmpi, OpenCPU, and Apparmor: DENIED request for "/")
    问题 我有一个 R 包,它向我通过 Rmpi​​ 包运行的 OpenMPI 集群发送作业。 在从控制台运行的 R 会话中,一切都按预期工作。 但是,当我尝试像这样从我的 OpenCPU 服务器执行相关功能时(细节已更改以保护无辜者): curl -XPOST http://99.999.999.99/ocpu/library/MyPackage/R/my_cluster_function 我收到此错误: R call failed: process died. (包中的其他非集群调用函数通过 OpenCPU 按预期工作)。 我注意到在/var/log/kern.log ,apparmor DENIED了各种请求,并且通过向/etc/apparmor.d/opencpu.d/custom添加条目以允许 OpenMPI访问它需要的文件。 但是,我无法解决与位置"/" “打开”请求相关的这两个问题(同样,IP 地址已更改): Oct 26 03:49:58 99.999.999.99 kernel: [142952.551234] type=1400 audit(1414295398.849:957): apparmor="DENIED" operation="open" profile="opencpu-main" name="/" pid=22486 comm="orted"
  • 如何在 CentOS6 上启动/停止/刷新 OpenCPU?(How to start/stop/flush OpenCPU on CentOS6?)
    问题 我已经在 CentOS6 上成功构建并安装了 OpenCPU 和 RStudio 服务器。 一切都按预期工作,我确实获得了本地 R 包的成功 GET/POST 响应。 然而,有几件事似乎不起作用: 我想不出一种干净的方法来启动/停止/刷新 OpenCPU。 我目前正在使用apachectl restart但我什至不确定是否会按预期重新加载 R 包。 我在/usr/lib/opencpu/scripts尝试了 Jeroen 的 bash 脚本,但它们似乎需要相当多的调整才能在 CentOS 上工作。 (可能与上述有关)我在/etc/opencpu/Renviron文件中使用load()和readRDS() (也在/etc/opencpu/Rprofile尝试过)将持久性数据集加载到全局环境中——但这并没有似乎工作。 我没有收到任何错误日志,但这些对象在后续请求中不可用。 在 Ubuntu OpenCPU 上似乎配置为在opencpu用户下运行。 在 CentOS6 上,它似乎在安装后在root下运行。 我想修改它,但不知道如何修改。 只是想知道是否有人在 CentOS6 上成功配置了 OpenCPU。 非常感谢,--梅尔。 回答1 一些答案 运行sudo apachectl restart将重新启动。 目前,rpm 中没有包含用于 opencpu 的特殊 init 或
  • 使用R构建RESTful API(Building RESTful API using R)
    问题 我正在考虑使用编程语言R构建RESTful API,主要是为了以API格式向用户展示我的机器学习模型。 我知道有一些选项,例如导出到PMML,PFA并使用其他语言来处理API部分。 但是,我想坚持使用相同的编程语言,并且想知道R中是否有类似Flask / Django / Springbook的框架? 我看了一下servr / shiny,但是我真的不认为RESTful是他们设计的。 R中是否有更易于使用的更好的解决方案? 回答1 我有两种选择供您选择: 水管工 plumber允许您通过使用特殊注释修饰现有R源代码来创建REST API。 一个小的示例文件: # myfile.R #* @get /mean normalMean <- function(samples=10){ data <- rnorm(samples) mean(data) } #* @post /sum addTwo <- function(a, b){ as.numeric(a) + as.numeric(b) } 在R命令行中: > library(plumber) > r <- plumb("myfile.R") # Where 'myfile.R' is the location of the file shown above > r$run(port=8000) 这样,您将获得如下结果: $
  • 如何在C中可视化用igraph制作的图形?(How to visualize a graph made with igraph in C?)
    问题 我开始在 C 中学习 igraph,我想知道如何可视化用这个库制作的图形。 我已经看到使用 igraph R 只需使用 plot 函数并绘制图形,但是如果我使用 C,我应该将图形打印在文件中,然后使用另一个程序对其进行可视化还是通常的方法? 谢谢! 编辑:这种图表。 回答1 要绘制有向图,请尝试使用 GraphViz (https://www.graphviz.org)。 或者,如果您愿意以符合其支持格式之一的方式将数据写入文件(https://gephi.org/users/supported -图形格式/)。 GML 看起来非常简单。 回答2 遵循 Unix 哲学,让你的程序输出图形的描述(以文本格式,或者如果没有容易获得的纯文本格式,则以易于处理的形式输出)。 (请注意,这也适用于图像格式;NetPBM(.pnm,或 .pbm、.pgm 和 .ppm)格式很容易在纯 C 中生成(例如标准输出),如有必要,NetPBM 工具可以用于转换为您可能希望的任何其他图像格式。) 例如,如果您的程序输出 graph { rankdir=LR; "6" -- "4"; "4" -- "5"; "3" -- "4"; "3" -- "2"; "5" -- "2"; "5" -- "1"; "2" -- "1"; } 然后将输出重定向到例如output.dot并运行dot -Tx11
  • 如何在opencpu中链接两个函数调用(How to chain two function calls in opencpu)
    问题 据说 OpenCPU 支持链接函数调用以计算例如 f(g(x), h(y)) 关于参数格式的文档:https://public.opencpu.org/api.html#api-arguments 包含一个示例,通过计算来说明这一点 summary(read.csv("mydata.csv")) 在这个例子中,f 是通用函数摘要,它将一个对象作为参数。 我需要计算类似的东西: mycalc(read.csv("mydata.csv")) 或者 myplot(read.csv("my data.csv")) 其中 f 将数据帧作为参数。 当将 read.csv 函数返回的 sessionid 或哈希键作为对象参数提供时,这似乎不起作用。 如何解决这种两个非泛型函数的链接? 这是一个完整的例子: 准备包在 R 中测试 f(g(x)) 这里的 plotcars(dfcars()) dfcars<-function(){ data(cars); cars } plotcars<-function(df){ matplot(1:nrow(df),df) } plotcars(dfcars()) # test the two chained functions are working package.skeleton(list = c("dfcars", "plotcars")
  • 我应该使用哪种布局来获得igraph中的不重叠边缘?(Which layout should I use to get non-overlapping edges in igraph?)
    问题 我正在尝试使用树状数据构建图形,其中节点通常会分成> 2条边。 我尝试了各种布局,但我发现layout.reingold.tilford参数将生成具有无分支数据的树状图。 但是,输出并不特别吸引人。 我宁愿使用诸如layout.lgl或layout.kamada.kawai之类的东西,因为它们会产生更多的径向结构。 我看不到如何更改R中的参数,以使这些树没有重叠的边缘。 这可能吗? 我以Pajek格式导入了一个简单的数据文件,其中包含355个节点和354个边。 我目前正在使用以下命令进行打印: plot.igraph(g,vertex.size=3,vertex.label=NA,layout=layout.lgl) 这给了我这样的输出,虽然不错,但仍然有重叠的边缘。 我读过您可以使用tkplot或诸如cytoscape之类的其他程序来手动修复此问题,但是我要构建许多这样的文件,并且它们的大小使手动校正变得很麻烦。 非常感谢。 回答1 layout.reingold.tilford有一个称为参数circular 。 将此设置为TRUE可以通过将X坐标视为角度(在适当缩放后)并将Y坐标视为半径,将最终布局转换为径向布局。 具有讽刺意味的是,这不能保证最终不会有边缘交叉,但是如果您的子树与图的其余部分相比不是太宽,那将很好地工作: > g <- barabasi.game(100
  • 从 OpenCPU API 调用 RJDBC 库时 rJava 失败(rJava fails while invoking RJDBC library from OpenCPU API)
    问题 目标:将 RJDBC 与 OpenCPU AJAX Post 调用一起使用。 用例:我需要连接 Apache phoenix 数据库并获取一些数据。 我应该对这些数据进行分析。 因此,为了与 Phoenix 连接,我使用的是 rjdbc(phoenix 不支持任何其他连接选项)。 环境: public.opencpu.org 这是我正在尝试的: html <textarea> library(RJDBC) .. do some data fetching and then r statistics </textarea> <br /> <button id="submitbutton" >Execute</button> <br /> <br /> <div id="output"> </div> javascript <script type="text/javascript"> //When Document is Ready $(function () { var baseurl = "https://public.opencpu.org"; //because identity is in base ocpu.seturl(baseurl+"/ocpu/library/base/R"); //actual handler $("#submitbutton").on(
  • 中移4G模块-ML302-OpenCpu开发-2-MQTT连接阿里云
    中移4G模块-ML302-OpenCpu开发-(MQTT连接阿里云)阿里云的项目创建和设备注册(已经创建好的请看下一条)打开https://iot.console.aliyun.com/product/createProduct创建产品填入相关信息,请注意下面三个红框的区域。完成之后点击创建打开https://iot.console.aliyun.com/devices点击添加设备创建好产品之后需要记住以下几个东西,会在下面使用到 ML302连接阿里云MQTT下面的百度云链接是ML302_OpenCPU_V2.1.0 OPENCPU开发固件,把他下载下来https://pan.baidu.com/s/1pA9rmXlWuV1s25e1GVzF4g 提取码:yvjl 首先打开ML302_OpenCPU\src\demo\aliyun\src\wrappers\wrapper.c文件,可以看到这四个变量,对应着上面刚才获取到的产品和设备密钥。 然后打开ML302_OpenCPU\src\cm_main.c文件在cm_main_task函数里面调用下面的方法因为函数里面默认带了几个参数,我们需要把他去掉,然后下面几个注释掉的可以根据需要改动 改完之后编译->烧录->重启->打开串口,看到类似如下的内容说明连接成功,连接失败的话会打印失败内容。 然后打开网页->进入设备详情
  • 通过 openCPU localy 测试 R 应用程序(Test R app via openCPU localy)
    问题 我写了一个 R 包,现在我想提供一个以 web 应用程序为前端的小演示。 为此,我已经编写了一个 index.html 文件,并将其保存到<pkgRoot>/inst/www/文件夹中。 我还安装了 opencpu 包,当我通过localhost:<portNum>/ocpu/test/ “Interface”使用它时,它运行良好,我已经可以在其中看到我的包并使用 Ajax POST 和 GET 请求来查看包正在做它应该做的事情。 但是现在我陷入了某种意义上,我不知道如何在本地测试我自己的应用程序 (index.html)。 localhost:<portNum>/ocpu/<pkgName>/www/index.html不起作用。 据我了解,opencpu 随 Apache 2 一起提供,因此不需要设置额外的网络服务器? 当我检查已安装包的路径时, www文件夹以及 index.html 似乎正是它们应该的样子,据我所知。 我是否必须通过以下方式安装该应用程序 opencpu::install_apps("pkgName") R里面? 因为如果我尝试这样做,似乎无法安装本地应用程序,而只能安装在 github 上托管的应用程序。 ....我只想测试本地应用程序! 真的很高兴有任何建议 回答1 只需使用 opencpu::ocpu_start_app("pkgName")
  • 是否有一种机制可以将请求中的数据持久化/记录到 OpenCPU 服务器?(Is there a mechanism to persist/record data from requests to an OpenCPU server?)
    问题 首先,我明白有很多很好的理由不这样做,但出于兴趣,我的问题是:是否有推荐(或容忍)的方法将信息从 http 请求持久化到运行服务器的 R 会话? 例如,外部系统中的触发器在更新时触发 http 请求,其中包含基本信息(更新时间)。 在 R 中使(现在更新的)时间变量可用的最佳方法是什么? 作为下面的示例,我尝试使用..\identity API 编写一个简单的 .csv 文件。 我得到的结果似乎不是失败,但文件没有创建(我同意这是一件好事,默认情况下),但我想了解是否可以更新另一个状态服务器的一侧(即除了 \tmp 对象存储之外的任何地方),即使(例如)必须使用和安装自定义包? 抱歉,如果它记录在某处,但是当我单击管理指南 https://raw.github.com/jeroenooms/opencpu/opencpu-0.7/manual/document.pdf 的链接时,我得到了 404 谢谢。 require(opencpu) #Loading required package: opencpu #Initiating OpenCPU server... #OpenCPU started. #[httpuv] http://localhost:8810/ocpu #OpenCPU single-user server ready. require(RCurl) #
  • 中移4G模块-ML302-OpenCpu开发-GPIO
    中移4G模块-ML302-OpenCpu开发-GPIOML302模块一共有20路GPIO,但是有些GPIO是和串口I2CSPI共用的,所以实际上没有那么多GPIO输出// 测试GPIO 19 int test_gpio = 19; cm_gpio_cfg_t cfg; //GPIO设置结构体 cfg.id = test_gpio; //ID号 cfg.dir = CM_GPIO_OUT; //方向设置:CM_GPIO_OUT输出,CM_GPIO_IN输入 cfg.irq_enable = 0; //使能 cm_gpio_init(&cfg); //初始化传入设置结构体 cm_gpio_pull_config(test_gpio, CM_GPIO_PULL_UP); //设置上下拉,CM_GPIO_PULL_DOWN ,CM_GPIO_PULL_UP osDelay(5000); //SDK自带延时函数 cm_gpio_write(test_gpio,CM_GPIO_HIGH); // 写GPIO,让GPIO19高电平 osDelay(5000); cm_gpio_write(test_gpio,CM_GPIO_LOW); // 写GPIO,让GPIO19低电平 osDelay(5000);GPIO输入// 设置GPIO20 读 int read_gpio = 20; cm_gpio
  • OpenCPU 管理员 opencpu.demo(OpenCPU admin opencpu.demo)
    问题 我在运行时收到错误 我的 OpenCPU 服务器上的管理应用程序错误消息:未找到 The requested URL /Radmin/call/opencpu.demo/install.opencpu/json was not found on this server. 我有opencpu repo的R文件夹和安装的包但我不知道install.opencpu函数文件在哪里 回答1 我不确定您在哪里找到/Radmin/ url,但该功能从未进入 opencpu。 尽量坚持使用手册页中的内容:www.opencpu.org。
  • 将 R 作为带有参数的 Web 服务调用并加载 JSON?(Calling R as a web service with parameters and load a JSON?)
    问题 我对R很陌生。 我想要做的是能够从另一个应用程序 (Java) 加载 URL,该应用程序将运行R脚本并输出JSON以便我的应用程序可以使用它。 我知道有一些像shiny这样的框架充当 R 的 Web 服务器,但是我找不到关于如何通过 URL 传递参数以便 R 可以使用它们的这些框架的文档。 理想情况下,我需要调用如下 URL: http://127.0.0.1/R/param1/param2 该 URL 将调用一个 R 脚本,该脚本将使用param1和param2执行一些功能并返回一个JSON ,然后我将从我的应用程序中读取该JSON 。 回答1 如果您还没有这样做,请检查 [DeployR]。 您还可以向DeployR Google Group 发帖寻求帮助。 为了充分披露,我是DeployR的作者之一 概述 DeployR 是一种集成技术,用于在 Web、桌面、移动和仪表板应用程序以及后端系统中部署 R 分析。 DeployR 将您的 R 脚本转换为分析 Web 服务,因此 R 代码可以由运行在安全服务器上的应用程序轻松执行。 使用分析 Web 服务,DeployR 还解决了那些采用基于 R 的分析以及现有 IT 基础设施的人所面临的关键集成问题。 这些服务使应用程序开发人员可以轻松地与数据科学家合作,将 R 分析集成到他们的应用程序中,而无需任何 R 编程知识。
  • 在 ipython 中使用 igraph 绘制顶点标签的问题(Issue plotting vertex labels using igraph in ipython)
    问题 我通常在 IPython notebook 中工作,我在 Windows 上使用以下命令打开它 ipython qtconsole --matplotlib inline 我目前正在使用 IPython QtConsole 3.0.0、Python 2.7.9 和 IPython 3.0.0。 我想绘制一个图形及其标签 from igraph import * g = Graph.Lattice([4,4],nei=1,circular=False) g.vs["label"]=[str(i) for i in xrange(16)] plot(g, layout="kk") 通过这种方式,我获得了图形的内联图,但没有标签,并且对于每个缺失的标签,我都收到以下消息错误 link glyph0-x hasn't been detected! 其中 x 是某个整数。 我还尝试使用vertex_label = ...直接在plot()命令中指定标签,但没有任何效果。 在我看来,标签定义正确,问题出在 ipython 笔记本和/或用于绘制图形的模块中。 任何人都可以帮助我解决这个问题吗? 我还使用以下命令尝试了所有可能的图形格式 SVG 和 PNG,但问题仍然存在。 %config InlineBackend.figure_format = 'svg' %config
  • 数据对象在openCPU的R会话中是否持久化?(Are data objects persistent in openCPU's R session?)
    问题 我想提供一个需要访问大型数据集的Web工具。 优选地,该R数据对象应一次加载到内存中,然后可用于用户定义的查询。 openCPU框架是否以任何方式支持持久性数据对象,还是每个查询都以空白开头? 回答1 OpenCPU API是无状态的,无法在请求之间保持进程活动。 但是,您可以通过将数据集放入软件包中并将其安装在服务器上来轻松解决问题。 您可以使用服务器手册中介绍的preload选项,也可以使用/etc/opencpu/Rprofile脚本在服务器启动时使用内存中的数据集加载程序包。 这样,当请求进入时,数据将准备就绪可以使用。
  • Rmpi, OpenCPU, and Apparmor: DENIED request for "/"
    I have an R package that sends out a job to the OpenMPI cluster I have running by means of the Rmpi package. All works as expected within an R session run from the console. However, when I try to execute the relevant function with from my OpenCPU server like this (details changed to protect the innocent): curl -XPOST http://99.999.999.99/ocpu/library/MyPackage/R/my_cluster_function I get this error: R call failed: process died. (Other, non-cluster calling functions within the package work as expected via OpenCPU). I noticed in /var/log/kern.log a variety of requests being DENIED by apparmor
  • 将 igraph.vs 转换为数据框(Turning an igraph.vs into a data frame)
    问题 所以我使用 all_shortest_paths 来获取输出,如下所示: PathsE $res[[1]] + 4/990 vertices, named: [1] Sortilin GGA1 Ubiquitin PIMT $res[[2]] + 4/990 vertices, named: [1] Sortilin TrkA PLK1 PIMT $res[[3]] + 4/990 vertices, named: [1] Sortilin APP JAB1 PIMT 我想把它变成一个数据框,以便我可以操纵它。 作为参考,我希望数据框看起来像这样: Prot1 Prot2 Prot3 Prot4 Pathway1 Sortilin GGA1 PLK1 PIMT Pathway2 Sortilin TrkA PLK1 PIMT Pathway3 Sortilin APP JAB1 PIMT *我知道如何更改轴名称我努力了 PathsDF<-as.data.frame(PathsE) 但我收到此错误: as.data.frame.default(x[[i]], optional = TRUE) 中的错误:无法将类 ""igraph.vs"" 强制转换为 data.frame 我也试过这个: PathDF <- as.data.frame(get.edgelist(PathsE))