2

我想用 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()

一切都按预期工作

4

0 回答 0