举个例子:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector f() {
Rcpp::Environment global = Rcpp::Environment::global_env();//获取全局环境并赋值给Environment型变量global
Rcpp::NumericVector x1 = global["x1"];
Rcpp::NumericVector x2 = global["x2"];
NumericVector y = x1 + x2;
return y;
}
/*** R
x1 <- 1:6
x2 <- 2:7
f()
*/
如果 R 的环境中有很多全局变量 X1, ..., Xn,想把它们依次相加(这里只是举个例子,当然如果想做到这种相加还有别的更好的方法),而且他们都不作为输入,想只是作为全局变量,是否有比下述更简便的方法?
Rcpp::NumericVector x1 = global["x1"];
Rcpp::NumericVector x2 = global["x2"];
...
Rcpp::NumericVector x1 = global["xn"];