参照クラスは、許可されている基本/標準オブジェクト タイプのみを受け入れるようです。たとえば、 chron オブジェクトが必要ですが、これでは定義できません。
> newclass <- setRefClass("newclass",fields=list(time="chron"))
Error in refClassInformation(Class, contains, fields, methods, where) :
class "chron" for field 'time' is not defined
これは制限ですか、それとももっと良い方法がありますか? メソッドで設定してみましたinitialize
が、明らかにこれも方法ではありません。
> newclass <- setRefClass("newclass",
+ fields=list(time="numeric"),
+ methods=list(initialize=function() time <<- as.chron(time)))
library(chron)
> x <- newclass(time=as.chron("2011-01-01"))
Error in .Object$initialize(...) : unused argument (time = 14975)