小编Ian*_*Ian的帖子

将元素连接到 Rcpp 中 S4 类的插槽

考虑以下三个 Rcpp 函数:

void f(Rcpp::S4 A) {
  Rcpp::NumericVector x = A.slot("x");
  x[0] = 42;
}

void g(Rcpp::S4 A) {
  Rcpp::NumericVector x = A.slot("x");
  x.push_back(42);
}

void h(Rcpp::S4 A) {
  Rcpp::NumericVector x = A.slot("x");
  x.push_back(42);
  A.slot("x") = x;
}
Run Code Online (Sandbox Code Playgroud)

然后,将这些函数应用于 S4 类的实例,我得到:

> setClass(Class = "VectorClass", slots = list(x = "numeric"))
> A <- new("VectorClass", x = c(0))
> f(A)
> A
An object of class "VectorClass"
Slot "x":
[1] 42

> A <- new("VectorClass", x = c(0))
> g(A)
> …
Run Code Online (Sandbox Code Playgroud)

r rcpp s4

7
推荐指数
0
解决办法
73
查看次数

标签 统计

r ×1

rcpp ×1

s4 ×1