Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
折叠粘贴列表结构包括R中的转义引号和c()_R_List_Paste - Fatal编程技术网

折叠粘贴列表结构包括R中的转义引号和c()

折叠粘贴列表结构包括R中的转义引号和c(),r,list,paste,R,List,Paste,原谅我,如果这是非常基本的,但它让我发疯 我有一个大型嵌套列表对象,其中“叶”元素是字符向量。这方面的一个简单表示是: dummy <- list(c('A', 'B', 'C')) 所以我得到了输出 Start > A|B|C > End 但我得到的是 [1] "Start > c(\"A\", \"B\", \"C\") > End" 这里有所有这些附加字符和转义引号。我做错了什么 即使使用recursive=FALSE,我也不会使用unlist(),因为

原谅我,如果这是非常基本的,但它让我发疯

我有一个大型嵌套列表对象,其中“叶”元素是字符向量。这方面的一个简单表示是:

dummy <- list(c('A', 'B', 'C'))
所以我得到了输出

Start > A|B|C > End
但我得到的是

[1] "Start > c(\"A\", \"B\", \"C\") > End"
这里有所有这些附加字符和转义引号。我做错了什么


即使使用recursive=FALSE,我也不会使用unlist(),因为这会折叠我的三个字符序列。

对于您的示例,这是有效的:

dummy <- list(c('A', 'B', 'C'))

> sprintf('Start > %s > End',paste0(unlist(dummy),collapse = '|'))
[1] "Start > A|B|C > End"

如果
列表
中只有一个元素是
字符
向量,如图所示,则可以尝试
rappy

rapply(object = dummy,classes = "character",
            function(t){paste0("Start > ",paste(t,collapse = "|")," > End")})

就这么做吧,它已经是一个列表了。这是由一个更广泛的结构预定义的,所以我只是尝试模拟一个可复制的示例。我的意思是不要使用列表使用此
虚拟您可以共享列表的结构吗?感谢您的回复;瓦尔的解决方案正是我想要的。
dummy2 <- list(dummy[[1]],c('D','E','F'))

> sprintf('Start > %s > End',paste0(unlist(dummy2),collapse = '|'))
[1] "Start > A|B|C|D|E|F > End"
> lapply(dummy2, function(x) sprintf('Start > %s > End',paste0(x,collapse = '|')))

[[1]]
[1] "Start > A|B|C > End"

[[2]]
[1] "Start > D|E|F > End"
rapply(object = dummy,classes = "character",
            function(t){paste0("Start > ",paste(t,collapse = "|")," > End")})