我创建了两个data.tables并为它们提供了一个自定义类。当我对它们执行rbind时,结果将不再继承自定义类。如何确保结果包含自定义类:
> mytable <- data.table(x = c(1,2), y = c(2,3))
> class(mytable) <- c("myclass", class(mytable))
> class(mytable)
[1] "myclass" "data.table" "data.frame"
> result <- rbind(mytable, mytable)
> class(result)
[1] "data.table" "data.frame"
我真的希望得到结果:
> class(result)
[1] "myclass" "data.table" "data.frame"
感谢您的帮助
答案 0 :(得分:1)
您可以定义自己的S3方法来保持课程。
rbind.myclass <- function(...) {
res <- rbind.data.frame(...)
class(res) <- c("myclass", class(res))
res
}
result <- rbind(mytable, mytable)
class(result)