r - R 中的对象可以有多个类吗?

标签 r oop

假设我有一个这样的函数:

myf = function(x) {
res = dostuff(x)
res # this is a data.frame
}

我想做点特别的事情res , 例如,
我想做一些通用的函数,比如 print.myf, summary.myf, ...,所以我可以继续给它上课:
myf = function(x) {
res = dostuff(x)
class(res) = 'myf'
res
}

但是这样我就不能再将它用作 data.frame 了。

最佳答案

是的,我的标准(简单)示例是

R> now <- Sys.time()
R> class(now)
[1] "POSIXct" "POSIXt" 
R> class(as.POSIXlt(now))
[1] "POSIXlt" "POSIXt" 
R> 

这也是使用 inherits("someClass") 进行测试的专业提示背后的原因。而不是测试 class(obj)=="someClass" 的结果.

关于r - R 中的对象可以有多个类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19335914/

相关文章:

java - 将用户数据保存在文本文件或序列化对象中

r - R ggplot中 map 多边形的标签中心

r - dplyr 过滤列是否以列表中的字符串之一开头

sql - 当结果集很大时,RODBC 会丢失日期时间的时间值

c# - protected 只读字段与 protected 属性

php - 无法通过另一个类连接到数据库

php - add_menu_page() 不适用于 wordpress 中的插件

ruby - 使用不同数据进行计算的计费模型的策略模式?

r - 查找字符串是否一次在多列中匹配并返回逻辑矩阵?

r - 将复数名词转换为单数名词