【问题标题】:R- How to name the variables in a list during the creation of a list? [duplicate]R-如何在创建列表期间命名列表中的变量? [复制]
【发布时间】:2015-05-11 10:45:29
【问题描述】:

我有两个向量“data1”和“data2”。我想创建这两个向量的列表。 但是当我创建这两个向量的列表时,我希望列表中变量的名称是“$data1”和“$data2”,而不是 [[1]] 和 [[2]]。下面是更好理解的代码:

data1 <- c(3,4,5,6,7)  
data2 <- c(8,9,10,11)  
datalist <- list(data1,data2)

输出是:

datalist
# [[1]]
# [1] 3 4 5 6 7

# [[2]]
# [1]  8  9 10 11

相反,我希望这是输出,而无需自己实际设置名称。有什么办法可以自动设置列表中变量的名称。

datalist
# $data1
# [1] 3 4 5 6 7

# $data2
# [1]  8  9 10 11

【问题讨论】:

  • 我不想自己设置名称。在创建列表的过程中,list() 函数的参数名称是否会成为变量的名称。
  • 您希望名称是这些特定值,还是希望它们从原始源数据值派生而来?
  • 是的,我希望它来自任何原始源数据值。

标签: r


【解决方案1】:

你可以试试

 datalist <- mget(paste0('data',1:2))

【讨论】:

    【解决方案2】:

    试试

    names(datalist) <- c("data1", "data2")
    

    或者让它更有活力

    names(datalist) <- paste0('data',1:2)
    

    【讨论】:

    • 根据OP的cmetsI don't want to set the names myself.
    【解决方案3】:

    你也可以使用setNames:

    datalist <- setNames(list(data1, data2), c("data1", "data2"))
    

    【讨论】:

    • 我最初的想法是setNames,但基于OP的cmets,我猜setNames不是一个选项
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 2020-09-29
    • 2011-02-07
    • 1970-01-01
    相关资源
    最近更新 更多