我想用 Plumber 从多个 R 脚本创建 API。我在这里找到了有关 Plumbers 中已安装路由器的文档。我的主要脚本如下所示:
library(plumber)
root <- plumber$new()
calculations <- plumber$new("C:/temp/R-scripts/Calculations.R")
root$mount("/calculations", calculations)
statistics <- plumber$new("C:/temp/R-scripts/Statistics.R")
root$mount("/statistics", statistics)
root$run()
如果我尝试通过以下 url 从第一个文件调用 Sum 函数:http: //127.0.0.1 :5787/calculations/sum?a=2&b=3我得到内部服务器错误,在 RStudio 中我可以看到这条消息:
"simpleError in (function (a, b) { as.numeric(a) + as.numeric(b)})(a = "2", b = "3", a = "2", b = "3" ): 由多个实际参数匹配的形式参数“a”
第一个文件如下所示:
#* @serializer unboxedJSON
#* @get /sum
addTwo <- function(a, b){
as.numeric(a) + as.numeric(b)
}
知道我做错了什么吗?
谢谢
PS我忘了提到如果我将主脚本更改为:
library(plumber)
r <- plumb("C:/temp/R-scripts/Calculations.R")
r$run()
一切都按预期工作