如果能够创建一个R列表对象,而不必指定每个元素的名称,这将对我非常有帮助.例如:

a1 <- 1
a2 <- 20
a3 <- 1:20

b <- list(a1,a2,a3, inherit.name=TRUE)
> b

[[a1]]
[1] 1

[[a2]]
[1] 20

[[a3]]
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

这将是理想的.有什么建议吗?

推荐答案

巧合的是,我刚刚编写了这个函数.它看起来很像@joran的解决方案,但它尽量不践踏已经命名的参数.

namedList <- function(...) {
    L <- list(...)
    snm <- sapply(substitute(list(...)),deparse)[-1]
    if (is.null(nm <- names(L))) nm <- snm
    if (any(nonames <- nm=="")) nm[nonames] <- snm[nonames]
    setNames(L,nm)
}
## TESTING:
a <- b <- c <- 1
namedList(a,b,c)
namedList(a,b,d=c)
namedList(e=a,f=b,d=c)

摘自 comments :如果你想从CRAN软件包中获得一些东西,你可以使用Hmisc::llist:

Hmisc::llist(a, b, c, d=a, labels = FALSE)

唯一明显的区别是,在本例中,各个向量也有名称.

R相关问答推荐

r带有参考年的两年移动平均线

按自定义数字模式对变量名称排序

导入到固定列宽的R中时出现问题

如何直接从Fortran到R的数组大小?

如何在R中对深度嵌套的tibbles中的非空连续行求和?

未识别时区

在df中保留原始变量和新变量

从所有项的 struct 相同的两级列表中,将该第二级中的所有同名项绑定在一起

R函数,用于生成伪随机二进制序列,其中同一数字在一行中不出现超过两次

Geom_Hline将不会出现,而它以前出现了

计算直线上点到参考点的总距离

将项粘贴到向量中,并将它们分组为x的倍数,用空格分隔

如何对r中包含特定(未知)文本的行求和?

我如何使用tidyselect来传递一个符号数组,比如Pivot_Long?

我是否可以使用多个变异项来构建顺序列(标记多个问题)

R -基线图-图形周围的阴影区域

如何预测原始数据集并将值添加到原始数据集中

如何在R中创建这些列?

如何使用循环从R中的聚合函数创建列,而不会在名称中给出&q;$&q;?

附加中缀操作符