有一个S4 R类,我需要在Rcpp中创建它的对象。是否可以这样做,如果可以,怎么做?
答案 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 ++中设置插槽值等。