我想在 R 中创建一个新类,它基本上应该类似于向量类,只是向量中的每个元素都有两个附加属性,分别是“开始时间”和“结束时间”。部分功能应该是各种常规索引。
我尝试过在这里至少提供一些代码:
setClass(
Class = "Intervals",
representation = representation(
start.time = "POSIXct",
end-time = "POSIXct",
numbers = "numeric"),
contains = "vector"
)
这显然不起作用,因为之后
iv <- function(start.time, end.time, numbers) {
new(Class="Intervals", start.time = start.time,
end.time = end.time, numbers = numbers)
}
和
st <- seq(1,5)*3600+as.POSIXct("1970-01-01 01:00")
et <- seq(2,6)*3600+as.POSIXct("1970-01-01 01:00")
numbers <- c(1,2,3,4,5)
example <- iv(st,et,numbers)
示例 [1:3] 例如给我 NA NA NA。
还是让我自己写getter,从类似的东西开始
setMethod(
f = "[",
signature="Intervals",
definition=function(x,i,j,drop){
...
? 当然我想避免这种情况,因为我不知道如何正确处理参数 x,i,j,drop。
我需要插槽“数字”吗?有没有一种从虚拟类向量继承的方法允许我省略它?此外,我不想将结构限制在包含数值的向量上。
我希望这个问题不是太微不足道,但是我阅读了书籍和 pdf 中的不同章节,却没有自己找到解决方案。
提前非常感谢。
米卡