我正在使用.nxml格式的 pubmed 数据我有几个按主题分类的文件夹(每个文件夹包含 100-300 个 .nxml 文件)。我编写了以下代码来从一个文件中提取抽象并将其保存为数据框:
library(XML)
doc <- xmlParse("Genetics_2011_Aug_188(4)_799-808.nxml")
plant.df <- as.data.frame(t(xpathSApply(doc,"//abstract",function(x) xmlSApply(x,xmlValue))))
适用于一个文件。
我的问题是当我使用:
files <- (list.files(pattern = "\\.nxml$"))
循环遍历一个文件夹中的文件,它将文件保存为一个字符,因此由于类型的原因我无法使用xmlParse。(我得到了Error: XML content does not seem to be XML::)
我如何循环文件或换句话说使过程自动化?谢谢。
更新:
library(XML)
files <- c(list.files(pattern = "\\.nxml$",full.names=TRUE))
#print(typeof(files))
for (i in files)
{
allfiles <- xmlParse(i)
abstract.df <- as.data.frame(t(xpathSApply(allfiles,"//abstract",function(x) xmlSApply(x,xmlValue))))
}
print(abstract.df)
sink("outtext.txt")
lapply(abstract.df, print)
sink()