Ortamlar için Rcpp'de R ile aynı işlevi with()
mümkün olup olmadığına bakıyorum. , Bir ortam oluşturmak iki değişken ekleyebilir ve sadece variablenames kullanarak bir ifade değerlendirmek için with()
kullanabilirsiniz RI Örneğin Ortamlarda ifadeleri değerlendirin Rcpp
e <- new.env()
e$x <- 1
e$y <- 2
with(e,
x + y
)
Ben Rcpp benzer bir şey yapabileceğini, ancak endekslenmesini gerektirir çevre:
f <- cxxfunction(signature(env="environment"), '
Environment e(env);
double Res = (double)e["x"] + (double)e["y"];
return(wrap(Res));
', plugin = "Rcpp")
f(e)
Yalnızca bir ifadeyi Rcpp'deki değişken adlarını kullanarak değerlendirmek mümkün mü? Sormamın nedeni, ifadeleri ekleyebileceğiniz dinamik bir C++ işlevi yazmak istiyorum. Bazı kukla kodla Örneğin bu işe yaramazsa:
f <- cxxfunction(signature(env="environment"), sprintf('
Environment e(env);
double Res;
// Res = with(e, %s);
return(wrap(Res));
','x + y'), plugin = "Rcpp")