基本上,我正在尝试编写一个可与任何n x m 矩阵一起使用的函数,并且需要制作它以便它给出 m 个不同的矩阵作为结果。R中是否有用于在函数中创建变量的功能?
问问题
70 次
1 回答
3
这是一个例子:
set.seed(42)
m <- matrix(rnorm(9),ncol=3)
# [,1] [,2] [,3]
# [1,] 1.3709584 0.6328626 1.51152200
# [2,] -0.5646982 0.4042683 -0.09465904
# [3,] 0.3631284 -0.1061245 2.01842371
fun <- function(mat) {
result <- list()
for (i in seq_len(nrow(mat))) {
result[[i]] <- mat[-i,]
}
result
}
mList <- fun(m)
mList[[1]]
# [,1] [,2] [,3]
# [1,] -0.5646982 0.4042683 -0.09465904
# [2,] 0.3631284 -0.1061245 2.01842371
但是,请记住,此功能只是一个教育示例。lapply
如果我需要这个结果,我可能会改用。但是你可以把任何你喜欢的东西放在一个列表中,然后让函数返回那个列表(变量不需要是相同的类型或类)。
于 2013-05-23T10:58:38.507 回答