R 中的addmargins
函数无法在本地范围内找到函数。我的意思是这不起作用:
foo <- function(x) {
bar <- function(y) sum(y)
addmargins(x, c(1), list(new=bar))
}
foo(matrix(1:20, nrow=4))
# => Error in eval(expr, envir, enclos) : object 'bar' not found
这确实:
bar <- function(y) sum(y)
foo <- function(x) {
addmargins(x, c(1), list(new=bar))
}
foo(matrix(1:20, nrow=4))
# =>
# [,1] [,2] [,3] [,4] [,5]
# [1,] 1 5 9 13 17
# [2,] 2 6 10 14 18
# [3,] 3 7 11 15 19
# [4,] 4 8 12 16 20
# [5,] 10 26 42 58 74
如第一个示例所示,我如何addmargins
在本地范围内使用变量。