如何创建包含列表所有条目的文本行?在 R

How to create a text line with all entries of a list? in R

我有一个可以有任何可能长度的列表(每个元素的内容并不重要):

list<- as.list(rep(NA,sample(1:10,1)))

我想在 R 中创建一个文本行,如下所示:

list[[1]],list[[2]],......,list[[n]]

是 "n" 列表的元素数。

所以,如果它有 4 个我想在控制台中看到的元素,则如下所示:

list[[1]],list[[2]],list[[3]],list[[4]]

所以,如果它有 2 个元素,我想要这样的东西:

list[[1]],list[[2]]

有什么想法吗?

非常感谢您。

蒂娜

这将提供所需的字符串并且可以很容易地变成一个函数:

> paste( sprintf("list[[%i]]", 1:4) , collapse=",")
[1] "list[[1]],list[[2]],list[[3]],list[[4]]"

> lisfun <- function (lst) paste( sprintf("list[[%i]]", 1:length(lst)) , collapse=",")
> 
> list1<- as.list(rep(NA,sample(1:10,1)))
> lisfun(list1)
[1] "list[[1]],list[[2]],list[[3]],list[[4]],list[[5]],list[[6]],list[[7]]"

你可以试试

paste0("c(", paste("list[[",seq_along(list),"]]", 
                       sep='', collapse=", "), ")")