1

我需要操作整个 R 数据结构(面向对象)及其方法。下面举个例子来理解:

library(data.table)

myClass = setClass("myClass", contains = "data.table")

source('./DB.r')
source('./operators.R')

我的结构继承自 data.table,填充了来自 DB 的数据,并且有一些方法重载,而且还自定义了。这在 R-SQL Server 中运行良好

我现在的问题是将其作为服务发布。据我在https://docs.microsoft.com/en-us/machine-learning-server/operationalize/how-to-deploy-web-service-publish-manage-in-r#standard中看到的-workflow-examples所有函数都必须在同一个文件中(其他脚本不能包含函数;它们不会被发布)。例如,下面必须为ans分配总和结果,以便将其作为服务输出返回api <- publishService( ..., inputs = list(hp = "numeric", wt = "numeric"), outputs = list(ans = "numeric"), ... )

# separate script loaded in main file
t2 <- function(a, b) { sum(a, b) }
ans <- t2(hp, wt)

但它不能成为函数的一部分。如果是,结果将为空。

所以我的问题是:我可以将文件上传到服务器并在会话中加载它们并创建一个实例myClass并在此基础上构建服务功能吗?这将是在内存中拥有一个对象及其所有方法,并通过包装服务功能调用它们,以便它们以 REST 方式工作。

4

0 回答 0