Tag: r

shiny的服务器:sockets挂断

更新:我添加了下面的解决scheme 问题 一点背景:我正在Ubuntu精确服务器上运行Shiny server v1.5。 基本上我有一个rmarkdown页面,允许用户使用某些参数进行播放,然后有一个下载button,使用shiny的方式生成文档,如下所示: “`{r,echo=FALSE} downloadHandler( filename = "report.pdf", content = function(file) { knitr::knit2pdf("report.Rnw",envir=environment()) file.rename(normalizePath('report.pdf'), file) } ) “` Shiny应用程序在我的本地机器上正常工作,但在服务器上崩溃。 更具体地说,r降价网页工作正常,但一旦我点击下载button,应用程序约30秒后崩溃。 服务器日志指出套接字超时错误: [2016-02-24 03:38:52.240] [INFO] shiny-server – Starting listener on 0.0.0.0:3838 [2016-02-24 03:49:30.183] [ERROR] shiny-server – Uncaught exception: Error: socket hang up [2016-02-24 03:49:30.184] [ERROR] shiny-server – Error: socket hang up at createHangUpError […]

D3.js树通过node.name点击R Shiny

我想先解决我的意图 1)在Shiny中创build一个预定义的D3.js可折叠树 2)点击一个节点,这个特定节点的名字从D3.js传递到R进一步的操作。 那么在这个时候,我在Shiny中有一个预定义的D3.js可折叠树。 我为下面的js,server.R和ui.R提供了代码。 现在,我只是有一个互动的graphics,但我想更进一步。 只要我点击一个节点,我想获得节点的名称作为一个variables。 我做了我的研究(主要在这里: https : //github.com/metrumresearchgroup/SearchTree ),所以我知道,我必须使用d3OutputBinding创build一个新的variables。 我进一步发现了这一点 .on('click', function(node) { alert(node.name); 至less会popup一个带有节点名称的消息。 所以我认为,我必须使用类似的东西 var d3OutputBinding = new Shiny.OutputBinding(); $.extend(d3OutputBinding, { find: function(scope) { return $(scope).find('.div_tree2'); }, renderValue: function(el) { var svg = d3.select(el).select("svg"); … function update(source) { … nodeEnter = node.enter().append("g") .on('click', function(node) {var nodes1 = node.name; }); … […]

R水pipe工具包,用于node.js并行处理

我想使用水pipe工包进行一些灵活的并行处理,并希望它能在一个node.js框架内工作,使其非阻塞… 我有以下水pipe工文件。 # myfile.R #* @get /mean normalMean <- function(samples=10){ Sys.sleep(5) data <- rnorm(samples) mean(data) } 我也安装了pm2,如http://plumber.trestletech.com/docs/hosting/ 我也做了相同的run-myfile.sh文件即 #!/bin/bash R -e "library(plumber); pr <- plumb('myfile.R'); pr\$run(port=4000)" 并提出了可执行的build议… 我已经开始使用pm2 pm2 start /path/to/run-myfile.sh 并想testing,看看是否可以执行一个非阻塞node.js框架… 通过打开另一个R控制台并运行以下… foo <- function(){ con <- curl::curl('http://localhost:4000/mean?samples=10000',handle = curl::new_handle()) on.exit(close(con)) return(readLines(con, n = 1, ok = FALSE, warn = FALSE)) } system.time(for (i […]

使用R连接到socket.io套接字

我正尝试使用R函数socketConnection()连接到R中的socket.io套接字。 但是,虽然我能够正确设置套接字,但是我无法从中读取数据到R中。 我用来设置服务器的JavaScript代码是: var app = require('http').createServer(handler) var io = require('socket.io')(app); var fs = require('fs'); app.listen(8005); function handler (req, res) { fs.readFile(__dirname + '/index.html', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading index.html'); } res.writeHead(200); res.end(data); }); } io.on('connection', function (socket) { setInterval(function() { socket.emit('update', "test") }, 1000); }); index.html的代码是: <script src="/socket.io/socket.io.js"></script> […]

为什么JS中的简单因子algorithm比Python或R更快?

为什么JavaScript在这个计算中速度更快? 我已经用四个简单的因子algorithm进行了一些testing:recursion,尾recursion, while循环和for循环。 我已经在R,Python和Javascript中进行了testing。 我测量了每个algorithm计算150个阶乘5000次的时间。 对于RI使用system.time(replicate()) 。 对于Python,我使用了time.clock() , resource模块和timeit模块。 对于JavaScript,我使用了console.time() , Date().getMilliseconds()和Date().getTime() ,通过terminal使用节点运行脚本。 这并不是为了比较语言之间的运行时间,而是为了了解我正在学习的语言,哪种forms(recursion,尾recursion,循环或while循环)更快。 不过,JavaScriptalgorithm的性能引起了我的注意。 您可以在这里看到4种不同的因子algorithm和测量实现: R因子algorithm和性能。 Python因子algorithm和性能。 JavaScript因子algorithm和性能。 在下面的例子中,f代表循环,w代表while循环。 R的结果是: Running time of different factorial algorithm implementations, in seconds. Compute 150 factorial 5000 times: factorialRecursive() user system elapsed 0.044 0.001 0.045 factorialTailRecursive() user system elapsed 3.409 0.012 3.429 factorialIterW() user system elapsed 2.481 […]

获取ggvis :: export_png()工作

目标 将ggvis图导出为PNG文件(包含在.Rmd文档中)。 问题 我对Node.js一无所知,除了它是伟大的,我应该知道更多。 我甚至可以: library(ggvis) mtcars %>% ggvis(~mpg, ~wt) %>% export_png() Writing to file plot.png Guessing layer_points() module.js:340 throw err; ^ Error: Cannot find module 'd3' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/usr/local/src/vega/index.js:11:6) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at […]

shiny的服务器崩溃

背景:我正在RHEL 5机器上运行shiny-server,并以不可重现的方式崩溃。 似乎node.js与错误有关。 错误如下: Error: write EIO at errnoException (net.js:901:11) at Object.afterWrite (net.js:718:19) 来自/var/log/shiny-server.log的日志 [2015-07-15 17:28:20.982] [INFO] shiny-server – ^[[39mShiny Server v1.4.0.718 (Node.js v0.10.21) ^[[32m[2015-07-15 17:28:20.984] [INFO] shiny-server – ^[[39mUsing pidfile /foplocal/app/shiny-server/shiny-server.pid ^[[32m[2015-07-15 17:28:20.985] [INFO] shiny-server – ^[[39mUsing config file "/etc/shiny-server/shiny-server.conf" ^[[32m[2015-07-15 17:28:21.039] [INFO] shiny-server – ^[[39mStarting listener on 0.0.0.0:3838 ^[[31m[2015-07-15 20:17:50.196] [ERROR] shiny-server – […]

build立R服务器REST API所需的build议,我可以从外部应用程序调用?

我已经看到很多关于从其他RESTful API服务中使用R中的数据的文章,但是我真的很努力地find任何有关反向的文章。 我对R是服务器感兴趣,而不是客户端。 我想要一个Node.js应用程序来调用一个R服务器的RESTful API,这样我就可以利用特定的分析function,如多季节预测。 有人有主意吗?