有没有办法让`ls()`我创建的所有`S4`类?

时间:2017-02-01 22:08:13

标签: r s4

setClass('A')
setClass('B', contains='A')
setClass('C')
setClass('D', contains=c('C','B'))
ls()

在某种意义上,我“创造了”四个“事物”,但由于我还没有实例化这些类中的任何一个,我看不到它们中的任何一个。

有没有办法查看可用的课程?也许存储目前已定义env个类的S4

1 个答案:

答案 0 :(得分:2)

类定义存储在以.__C__开头的变量中,所以

> grep(".__C__", ls(all=TRUE), value=TRUE)
[1] ".__C__A" ".__C__B" ".__C__C" ".__C__D"

对于包中定义的类,请查看包命名空间,例如

> library(quantmod)
> symbols <- ls("package:quantmod", all=TRUE)
> grep(".__C__", symbols, value=TRUE)
[1] ".__C__chob"           ".__C__chobTA"         ".__C__quantmod"      
[4] ".__C__quantmodReturn" ".__C__tradeLog"     
相关问题