tutorial omdb example español r node.js shiny opencpu rapache

omdb - plumber r tutorial



¿Sugerencias necesarias para crear las API REST del servidor R a las que puedo llamar desde una aplicación externa? (2)

He visto muchos artículos sobre el consumo de datos en R de otros servicios de API RESTful, pero realmente me ha costado encontrar algún artículo sobre el reverso. Estoy interesado en que R sea el servidor, y no el cliente. Me gustaría que una aplicación Node.js llame a una API RESTful de un servidor R para poder aprovechar funciones analíticas específicas, como la previsión de estaciones múltiples. ¿Alguien tiene alguna idea?


Puede usar httpuv para iniciar un servidor básico y luego manejar las solicitudes GET / POST . Lo siguiente no es "REST" per se, pero debería proporcionar el marco básico:

library(httpuv) library(RCurl) library(httr) app <- list(call=function(req) { query <- req$QUERY_STRING qs <- httr:::parse_query(gsub("^//?", "", query)) status <- 200L headers <- list(''Content-Type'' = ''text/html'') if (!is.character(query) || identical(query, "")) { body <- "/r/n<html><body></body></html>" } else { body <- sprintf("/r/n<html><body>a=%s</body></html>", qs$a) } ret <- list(status=status, headers=headers, body=body) return(ret) }) message("Starting server...") server <- startServer("127.0.0.1", 8000, app=app) on.exit(stopServer(server)) while(TRUE) { service() Sys.sleep(0.001) } stopServer(server)

Tengo los paquetes httr y RCurl allí, ya que probablemente terminarás necesitando usar algunos bits de ambos para analizar / formatear / etc las solicitudes y respuestas.


node-rio proporciona una forma de comunicarse con rserve (un servidor TCP / IP que permite el uso de las funciones R) desde node.js.

Aquí hay un ejemplo de uso (de la documentación):

var rio = require(''rio''); rio.evaluate("as.character(''Hello World'')");