【问题标题】:How to create custom print method for S4 object in R如何在 R 中为 S4 对象创建自定义打印方法
【发布时间】:2018-10-17 02:44:16
【问题描述】:

我创建了一个自定义类和打印方法:

#custom class
myClass <- setClass(Class = "myClass",
                    slots = c(a = "character"),
                    prototype = list(a = character()))
#custom print method
print.myClass <- function(theObject){
    print("2")
}
#create a variable for testing
test <- myClass(a = "1")

如果我使用print(test),它可以正常工作:

> print(test)
[1] "2"

但如果我只是在没有print() 的情况下运行变量本身,它会以不同的方式显示。

> test
An object of class "myClass"
Slot "a":
[1] "1"

当我不使用print() 运行自定义打印方法时,我应该怎么做才能使它以相同的方式工作?

谢谢!

【问题讨论】:

    标签: r s4 r-s3


    【解决方案1】:

    只是自己想出来的。对于 S4 对象,您需要使用show()

    如果我使用它,它会起作用:

    setMethod(f = "show",
              signature = "myClass",
              definition = function(object){
                  print("2")
              })
    

    有效:

    > test
    [1] "2"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 2021-02-17
      • 1970-01-01
      • 2019-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多