在Rcpp中创建R S4类的对象?

时间:2015-03-13 06:07:19

标签: r rcpp

有一个S4 R类,我需要在Rcpp中创建它的对象。是否可以这样做,如果可以,怎么做?

1 个答案:

答案 0 :(得分:8)

不确定。这是从Rcpp包中的S4单元测试中获得的东西。

我们首先在R中创建一个track类。然后我们通过向构造函数提供一个字符串并返回它来创建一个创建S4对象的最小函数:

R> setClass("track", representation(x="numeric", y="numeric"))
R> cppFunction('SEXP trythis(std::string txt) { S4 foo(txt); return foo; }')
R> trythis("track")
An object of class "track"
Slot "x":
numeric(0)

Slot "y":
numeric(0)

R> 

您可以从C ++中设置插槽值等。