2015-01-15 3 views
0

У меня есть список, который может иметь любую возможную длину (содержание каждого элемента не имеет значения):Как создать текстовую строку со всеми записями списка? в 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]] 

любая идея?

спасибо, что заранее.

Тина

+0

Просто любопытно, почему вы хотите, чтобы выход? –

+0

, тогда у меня есть проблема, так как я действительно не знаю, как объяснить это лучше :(Мне нужно это, чтобы передать это в другую функцию, которая принимает только аргументы таким образом. – user18441

+0

Какую функцию вы передаете? Если это обычай, вы можете переосмыслить * эту * функцию –

ответ

0

Вы можете попробовать

paste0("c(", paste("list[[",seq_along(list),"]]", 
         sep='', collapse=", "), ")") 
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]]" 
+0

Отлично! СПАСИБО! – user18441

Смежные вопросы