【发布时间】:2018-04-10 06:27:20
【问题描述】:
我有一个涉及创建矩阵列表的函数。我使用assign() 来命名该列表中的矩阵。这在全球环境中运作良好。但是,如果我在函数环境中使用此技术,则会收到 object not found 错误。我有一个解决方法是使用envir = .GlobalEnv 作为assign() 中的参数,但是,我认为这不是最好的解决方案(我不想用这些变量填充我的全局环境)。有没有更好的办法?这是一个示例代码:
my_function <- function(x){
my_list <- c()
for (i in 1:length(x)){
assign(paste("matrix", i, sep="_"), matrix(data = NA, nrow = 5, ncol = 4), envir = .GlobalEnv)
}
my_list <- lapply(paste("matrix", 1:length(x), sep="_"), get)
}
同样,如果我去掉上面的 envir = .GlobalEnv 参数,我会得到一个 object not found 错误
【问题讨论】:
标签: r function global-variables assign