У меня есть две функции, которые концептуально похожи на две ниже. Первый строит модель с набором параметров. Вторая строит все модели с 4 параметрами, которые остаются неизменными, а одна представлена в виде списка.
build_one_model <- function(a, b, x, c, d) {
a + b + x + c + d
}
build_all_models <- function(a, b, xList, c, d) {
lapply(xList, function(x) build_one_model(a, b, x, c, d))
}
Пример использования:
xList <- list(1, 2, 3)
build_all_models(1, 2, xList, 4, 5)
[[1]]
[1] 13
[[2]]
[1] 14
[[3]]
[1] 15
Теперь я могу преобразовать build_one_model()
в Rcpp
:
#include <Rcpp.h>
using namespace Rcpp;
//[[Rcpp::export]]
double build_one_model(double a, double b, double x, double c, double d) {
return a + b + x + c + d;
}
Но как мне конвертировать build_all_models()
? lapply()
принимает только один вход, а mapply()
- до трех, но у меня есть 5.