ベクトルのすべての要素に「開始時間」と「終了時間」の2つの追加属性があることを除いて、基本的にベクトルクラスのようにする必要がある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)
example[1:3] たとえば、 NA NA NA が得られます。
または、次のようなものから始まるゲッターを自分で作成する必要があります
setMethod(
f = "[",
signature="Intervals",
definition=function(x,i,j,drop){
...
? もちろん、引数 x,i,j,drop を正しく処理する方法がわからないため、これを避けたかったのです。
スロット「番号」は必要ですか? 省略できる仮想クラス ベクトルから継承する方法はありますか? さらに、数値を含むベクトルの構造を制約したくありません。
この質問が些細なことではないことを願っていますが、自分で解決策を見つけることなく、本やpdfのさまざまな章を読みました。
よろしくお願いします。
みか