有一个列表我想作为单个字符串输出到excel文件中。 我从一个字符列表开始。
url="http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=21558518&retmode=xml"
xml = xmlTreeParse(url,useInternal = T)
ns <- getNodeSet(xml, '//PublicationTypeList/PublicationType')
types <- sapply(ns, function(x) { xmlValue(x) } )
types
输出是这样的:
[1] "Journal Article" "Multicenter Study" "Research Support, N.I.H., Extramural"
[4] "Research Support, Non-U.S. Gov't"
所以在类型中 - 有一个字符列表 现在我需要制作一个单独的字符串。 这是我到目前为止所做的,但它不是最佳的:
types_as_string = as.character(types[[1]])
if (length(types) > 1) for (j in 2:length(types)) types_as_string = paste(types_as_string,"| ",as.character(types[[j]]),sep="")
types_as_string
[1] "Journal Article| Multicenter Study| Research Support, N.I.H., Extramural| Research Support, Non-U.S. Gov't"
所以我想最后得到一个由管道或其他分隔符分隔的漂亮字符串。 (最后一个代码部分 - 我想要很好地重写)。管道很重要,必须妥善完成。
答案 0 :(得分:49)
您可以使用paste
功能
> paste(c('A', 'B', 'C'), collapse=', ' )
[1] "A, B, C"
答案 1 :(得分:5)
您可以使用str_c
功能
> library('stringr')
> str_c(c('A','B','C'),collapse=',')
[1] "A,B,C"
答案 2 :(得分:1)
最短的方法是使用基本的toString函数。无论如何,输出字符串都将包含逗号
vector<-c('A', 'B', 'C')
toString(vector)
如果您不想逗号
gsub(",","",toString(vector))
如果您需要任何其他分隔符,则可以在gsub中替换任何您喜欢的东西,而不用逗号代替逗号