opencpu
前端通过它调用后端的R语言,对R函数进行一个封装。
网址:https://github.com/jeroenooms/opencpu.js
使用的是opencpu-0.5.js,对它进行了修改。
1、先调用call方法,在它的回调中,调用rpc和rplot。之前是通过按钮触发rpc的调用,所以没有写在call的回调中,也不会有影响。
2、ocpu.rpc(); $('#sfp').rplot();会把返回的html直接appendTo('#sfp')。 调用方式不同
3、自己的修改:新建了一个rplot,调用方式为ocpu.rplot(); 可以直接返回三个图片的url,之前是返回html代码。
// call a function and return JSON, relative plot
function rplot(fun, args, cb){
return r_fun_call(fun, args, function(tmp){
var Location = tmp.getLoc();
var n = 'last';
var result = {};
result.pdf = Location + "graphics/" + n + "/pdf?width=11.69&height=8.27&paper=a4r";
result.svg = Location + "graphics/" + n + "/svg?width=11&height=6";
result.png = Location + "graphics/" + n + "/png?width=800&height=600"; if(cb) cb(result);
return result;
});
}
增加:ocpu.rplot = rplot;
call调用R函数
var req = ocpu.call("readcsvnew", {
file: myfile,
header: myheader
}, function(session) {
session1 = session;
$("#printlink").attr("href", session1.getLoc() + "R/.val/print")
$("#rdalink").attr("href", session1.getLoc() + "R/.val/rda")
$("#csvlink").attr("href", session1.getLoc() + "R/.val/csv")
});
//if R returns an error, alert the error message
req.fail(function() {
alert("Server error: " + req.responseText);
});
//after request complete, re-enable the button
req.always(function() {
$("#submitbutton").removeAttr("disabled")
});
rpc调用R函数:和call的区别,不同点是callback的参数是session,rpc的callback参数是json,调用的R函数都是自己写好的。
var req = ocpu.rpc("demoSummary", {
data: session1
}, function(output) {
$('#summary').html(output)
// alert("Standard Deviation equals: " + output);
});
//optional
req.fail(function() {
alert("R returned an error: " + req.responseText);
});
R plot:$('#mydiv').rplot(fun, [, argu] [, callback])
opencpu的更多相关文章
- docker opencpu R
有一个项目中用到了docker opencpu R,这里把所学的整理下. docker,一个运行容器,搭建一次,以后可以很方便的移植,win7 64下也可以装. opencpu,云端计算,运行R函数和 ...
- 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?
0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...
- R统计分析处理
[翻译]Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么? 阅读目录 0.前言 1.集成开发环境 2.语法 3.数据操作 4.图形显示 5.HTML部件 ...
- Docker安装RStudio
在我前一篇文章中已讲述了如何在Windows中安装和配置Docker,本文则讲述如何在docker中安装rstudio! 1.Docker的使用 1.1查看指定machine的IP 打开Docker ...
- Asynchronous and Distributed Programming in R with the Future Package
Every now and again someone comes along and writes an R package that I consider to be a 'game change ...
- R工具包一网打尽
这里有很多非常不错的R包和工具. 该想法来自于awesome-machine-learning. 这里是包的导航清单,看起来更方便 >>>导航清单 通过这些翻译了解这些工具包,以后干 ...
- Ubuntu安装R及R包
安装R $sudo apt-get update $sudo apt-get install r-base $sudo apt-get install r-base-dev 安装一些可能的依赖包 $s ...
- jquery 问题
detach():这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素.与remove()不同的是,所有绑定的事件.附加的数据等都会保留下来. jquery ajax不 ...
- R工具包
直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和爬一些R的资料,看着看着就入迷了,这就是个大宝库了,以前怎么没发现,看来还是太狭隘了.直到前几天我看到这个 ...
随机推荐
- 基元线程同步构造之 Mutes(互斥体)
互斥体实现了“互相排斥”(mutual exclusion)同步的简单形式(所以名为互斥体(mutex)). 互斥体禁止多个线程同时进入受保护的代码“临界区”(critical section). 因 ...
- 吴裕雄 实战PYTHON编程(4)
import hashlib md5 = hashlib.md5()md5.update(b'Test String')print(md5.hexdigest()) import hashlib md ...
- conductor 事件处理程序
Introduction conductor中的事件提供工作流之间的松散耦合,并支持从外部系统生成和消耗事件. 包括: 1. 能够在外部系统像SQS或Conductor内部生成一个事件(消息). 2. ...
- T分布(T-Distribution)
1.What is the T Distribution? T分布(也叫Student 's T分布)是一组与正态分布曲线几乎相同的分布,只是更短更胖一点.当有小样本时,使用t分布而不是正态分布.样本 ...
- EasyUI 导出页面到Excel中
<script type="text/javascript"> <!-- js --> /*================================ ...
- Golang 获取MD5的方法
import ( "crypto/md5" "encoding/hex" ) //生成32位md5字串 func Md5(s string) string { ...
- alter 和 update的用法和区别
alter的增加和删除alter table xs_kc add xuefen number;alter table xs_kc drop column xuefen; 删除的时候必须使用column ...
- cubic与spline插值点处的区别
cubic与spline都是Matlab的三次样条插值法,但是它们在插值点处仍然有着很微妙的区别,这个区别说明不了两种方法的好坏,只能根据实际情况进行合理筛选.以一维插值为例: clc clear % ...
- PAT 1069 微博转发抽奖(20)(代码+思路+测试点4)
1069 微博转发抽奖(20 分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行 ...
- Codeforces 670D1. Magic Powder - 1 暴力
D1. Magic Powder - 1 time limit per test: 1 second memory limit per test: 256 megabytes input: stand ...