R中多个类的相同方法

R中多个类的相同方法,r,R,我经常遇到这样的情况:当两个类足够相似时,我希望对它们使用相同的方法。例如: func.matrix = function(m) { stopifnot(ncol(m) == 2) c(mean(m[, 1]), sd(m[, 2])) } func.data.frame = function(m) { stopifnot(ncol(m) == 2) c(mean(m[, 1]), sd(m[, 2])) } 如何保存冗余?如果两个函数实际上是相同的,那么您可以这样做,至少为自己节省一些输入

我经常遇到这样的情况:当两个类足够相似时,我希望对它们使用相同的方法。例如:

func.matrix = function(m) {
stopifnot(ncol(m) == 2)
c(mean(m[, 1]), sd(m[, 2]))
}

func.data.frame = function(m) {
stopifnot(ncol(m) == 2)
c(mean(m[, 1]), sd(m[, 2]))
}

如何保存冗余?

如果两个函数实际上是相同的,那么您可以这样做,至少为自己节省一些输入:

func.matrix <- func.data.frame <- function(m) {
  stopifnot(ncol(m) == 2)
  c(mean(m[, 1]), sd(m[, 2]))
}
func.matrix
# function(m) {
# stopifnot(ncol(m) == 2)
# c(mean(m[, 1]), sd(m[, 2]))
# }
func.data.frame
# function(m) {
# stopifnot(ncol(m) == 2)
# c(mean(m[, 1]), sd(m[, 2]))
# }

func.matrix
func.matrix
func.data.frame
?或者只是函数中的一个步骤?你能更具体地描述一下你经常遇到的情况吗?是的,这两个函数都是一样的。
func.matrix说我们有两个类,我们取最大的公共部分,并为这一部分创建一个函数。另外,关于
function.default
?+1呢。另外,这是
=