単一の文字列として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"
したがって、パイプまたはその他の区切り文字で区切られたニース文字列になりたいと思います。 (最後のコード部分-私がうまく書き直したいものです)。パイプは重要であり、適切に行う必要があります。
あなたはpaste
関数でそれを行うことができます
> paste(c('A', 'B', 'C'), collapse=', ' )
[1] "A, B, C"
str_c
関数で実行できます
> library('stringr')
> str_c(c('A','B','C'),collapse=',')
[1] "A,B,C"