【问题标题】:How to use variable as element name when creating list in R在R中创建列表时如何使用变量作为元素名称
【发布时间】:2021-06-11 15:47:15
【问题描述】:

假设我有

label <- 'My val'

我尝试创建列表

Output <- list(
  label = pi
)

我知道列表中第一个(唯一)对象的名称是"label",但我想要"My val"。

我知道我能做到

names(Output) &lt;- label

但是列表很长,我宁愿在list 函数中命名它。

【问题讨论】:

标签: r


【解决方案1】:

不,当使用list() 函数创建列表时,您不能引用变量作为名称。它只会将任何变量名称解释为条目的名称。但是在构建列表之后,您可以更改名称:

label <- 'My val'
Output <- list(pi)
names(Output)=label

【讨论】:

    【解决方案2】:

    也许这可以帮助你,但如果你能分享一个更详细的样本会更好,因为我认为可能涉及更多的变量名称:

    label <- 'My val'
    
    Output <- list(
      label = pi
    )
    
    Output |> 
      setNames(label)
    
    $`My val`
    [1] 3.141593
    

    【讨论】:

      【解决方案3】:

      另一个选项是lst 来自dplyr

      library(dplyr)
      lst(!!label := pi)
      #$`My val`
      #[1] 3.141593
      

      【讨论】:

        猜你喜欢
        • 2020-07-21
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 2014-04-09
        • 1970-01-01
        • 2020-10-07
        • 1970-01-01
        • 2022-11-13
        相关资源
        最近更新 更多