如何创建包含列表所有条目的文本行?在 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=", "), ")")
我有一个可以有任何可能长度的列表(每个元素的内容并不重要):
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=", "), ")")