以.csv格式保存时如何忽略文本para中的逗号?

时间:2015-10-07 17:11:10

标签: r regex dataframe gsub rentrez

我正在尝试使用rentrez包中的不同函数从NCBI中提取数据。但是,我有一个问题,因为rentrez中的函数extract_from_esummary()导致矩阵,当保存在.csv文件中时,列的文本被拆分为相邻列(如图所示),因为“,”被识别为分隔符。

  library (rentrez)
  PM.ID <- c("25979833", "25667274","23792568","22435913")

p.data <- entrez_summary(db = "pubmed", id = PM.ID  )
pubrecord.table <- extract_from_esummary(esummaries = p.data ,
                                         elements = c("uid","title","fulljournalname",
                                                      "pubtype"))

enter image description here

从上面的图像示例中,在列PMID:25979833中,期刊名称拆分为扩展到下一列。第1列为European journal of cancer (Oxford,下一列为England : 1990)。当我做一个dput(pubrecord.table)时,我明白分裂是因为单词用逗号“,”分隔。如何让R了解European journal of cancer (Oxford, England : 1990)属于同一列?与Title和Pubtype字段类似的问题....其中长文本之间有逗号,R用csv格式打破它。如何清理数据以使数据位于适当的列中?

1 个答案:

答案 0 :(得分:1)

我认为这看起来像extract_from_esummary中的错误。我在Github上搜索了包的问题,​​以及#34;逗号&#34;得到this,其中说:

  

对于rentrez而言,这不是一个问题,只是NCBI记录和R对象的属性。

     

在这种情况下,pubtype字段的大小可变。

     

当您尝试编写矩阵时,它代表像您一样的向量(c(..., ...)),它们会添加一个逗号来破坏csv格式。

     

在这种情况下,您可以折叠向量并取消列出每个矩阵行以允许它们被写出

问题页面也有代码示例。