首页 > 解决方案 > 无法根据函数参数创建列表

问题描述

我正在尝试创建一个函数,其中创建了一个命名列表(我需要使用这个特定的结构,因为它需要调用下游函数)。然而,尽管名称被定义为函数的参数,但它并没有被执行。这是一个最小的例子:

make_list = function(first, second){
  return(list(first=second))
}
make_list("name", "value")
#$`first`
#[1] "value"

注意名称“first”,而不是“name”。First 只是作为函数中的一个参数,但它没有被用作这样的参数。任何建议都非常感谢。

标签: rlistfunction

解决方案


在 的 声明 中list(first=second), " first" 是 属性 名 而 不是 变量first.

make_list = function(first, second){
  ret = list()
  ret[[first]] = second
  return(ret)
}
make_list("name", "value")
#$name
#[1] "value"

推荐阅读