R 在引用类对象中定义非标准类

R 在引用类对象中定义非标准类,r,reference-class,R,Reference Class,引用类似乎只接受允许的基本/标准对象类型。例如,我想要一个chron对象,但这不允许我定义它: > newclass <- setRefClass("newclass",fields=list(time="chron")) Error in refClassInformation(Class, contains, fields, methods, where) : class "chron" for field 'time' is not defined 我认为您需要首先使用

引用类似乎只接受允许的基本/标准对象类型。例如,我想要一个chron对象,但这不允许我定义它:

> newclass <- setRefClass("newclass",fields=list(time="chron"))
Error in refClassInformation(Class, contains, fields, methods, where) : 
  class "chron" for field 'time' is not defined

我认为您需要首先使用
setOldclass
注册非标准类

require(chron)
dts <- dates(c("05/20/13", "06/10/13"))
tms <- times(c("19:30:00", "22:30:05"))

setOldClass("chron")
newclass <- setRefClass("newclass",
                        fields = list(time = "chron"))

mydate <- newclass(time = chron(dates = dts, times = tms))
mydate$time
## [1] (05/20/13 19:30:00) (06/10/13 22:30:05)
require(chron)
数据传输系统
require(chron)
dts <- dates(c("05/20/13", "06/10/13"))
tms <- times(c("19:30:00", "22:30:05"))

setOldClass("chron")
newclass <- setRefClass("newclass",
                        fields = list(time = "chron"))

mydate <- newclass(time = chron(dates = dts, times = tms))
mydate$time
## [1] (05/20/13 19:30:00) (06/10/13 22:30:05)