如何从S4对象索引信息

时间:2018-10-24 17:56:56

标签: r

我正在使用R中的S4 Hyperspec对象,该对象由波长和相应的不同吸收光谱数据集组成。我想选择一个波长,并根据特定光谱打印出相应的吸光度。

但是我不确定该怎么做。

有什么建议吗?

我对面向对象的编程并不了解...

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用@slot

#define new s4 class
myS4Class <- setClass(
  "myS4Class", 
  slots = c(
   slot1 = "character", 
   slot2 = "numeric"
  )
)

#make an instance of the class
x <- new("myS4Class", slot1 = "foo", slot2 = rnorm(5))

x现在可以按以下方式建立索引:

x@slot1
#> [1] "foo"

slot(x, "slot2")
#> [1]  0.2391963 -0.3398150  2.1760187  1.1890521 -0.1659958