0

トピックごとに分類されたいくつかのフォルダーがある形式で公開データを使用し.nxmlています (それぞれに 100 ~ 300 の .nxml ファイルが含まれています)。1 つのファイルから abstarct を抽出し、データ フレームとして保存する次のコードを作成しました。

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))))

これは1つのファイルで機能します。

私の質問は、私が使用するときです:

files <- (list.files(pattern = "\\.nxml$"))

1つのフォルダー内のファイルをループするために、ファイルを文字として保存した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() 
4

0 に答える 0