如何从分配列表中访问功能?

问题描述 投票:0回答:1

假设我定义了

methods <- list(hurz.default = function (vehicles, mission) {
    vehicles_r <- vehicles
    return(vehicles_r)}, 
  hurz.a = function (vehicles, mission) {
    vehicles_r <- vehicles[1, ]
    return(vehicles_r)})

现在,这正在工作

i <- 1
assign(names(methods[i]), methods[[i]])

但是这不是:

lapply(c(1:length(methods)), function(i) {
        assign(names(methods[i]), methods[[i]])
})

我无法使用Hadley找到答案。有什么想法吗?

(这个想法来自her,但我想这是别的。)

r environment assign
1个回答
0
投票

我们可以指定env

lapply(seq_along(methods), function(i) {
       assign(names(methods)[i], methods[[i]], env = .GlobalEnv)
 })

使用list,另一个选项是list2env

list2env(methods, .GlobalEnv)
© www.soinside.com 2019 - 2024. All rights reserved.