2
我想在R中創建一個新的類,它基本上應該像vector類,只不過vector中的每個元素都有'start-time'和'end-time'兩個附加屬性。部分功能應該是各種常規索引。如何在R中創建一個允許向量索引的S4類?
至少提供一點這裏的代碼是我的嘗試:
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。
還是我寫我自己,吸氣的東西,如
setMethod(
f = "[",
signature="Intervals",
definition=function(x,i,j,drop){
...
開始?當然,我想避免這一點,因爲我不知道如何處理參數x,我,j,正確地下降。
我需要插槽'數字'嗎?是否有從虛擬類向量繼承的方法,允許我省略它?此外,我不想限制包含數值的向量上的結構。
我希望這個問題不是微不足道的,但我讀了書和pdf中的不同章節,而沒有自己找到解決方案。
非常感謝。
Mika
您需要自己編寫該方法,但它會相當簡單,因爲您可以將參數傳遞給子文件。 – hadley
也許[這個問題](http://stackoverflow.com/questions/10961842/how-to-define-the-subset-operators-for-a-s4-class)是否足夠接近? –
是的。發佈後10分鐘我發現了它(不幸)。 –