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

时间:2015-01-15 17:50:05

标签: r list text

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

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

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

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

生活&#34; n&#34;列表中元素的数量。

所以,如果它有4个我希望看到的元素出现在控制台中,就像这样:

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

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

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

任何想法?

非常感谢你。

蒂娜

2 个答案:

答案 0 :(得分: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]]"

答案 1 :(得分:0)

你可以尝试

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