次のxmlファイルからsample_attributes(できればall)を解析しようとしています。物事のカップルしようとしましたが、XMLは、一つのノードに凝集します:ここで言及階層ノード、タグ、および値を持つRのxmlパーサ
xml.url <- "http://www.ebi.ac.uk/ena/data/view/ERS445758&display=xml"
xmlfile <- xmlTreeParse(xml.url)
xmltop = xmlRoot(xmlfile)
IBDcat <- xmlSApply(xmltop, function(x) xmlSApply(x, xmlValue))
も試した解決策: How to parse XML to R data frame とhow to create an R data frame from a xml fileが、私はのような何かしようとすると:
data <- xmlParse("http://www.ebi.ac.uk/ena/data/view/ERS445758&display=xml")
xml_data <- xmlToList(data)
xmlToDataFrame(nodes=getNodeSet(data,"/SAMPLE_ATTRIBUTE"))[c("age","sex","body site","body-mass index")]
を私はエラーを取得します定義されていない列が選択されています
ありがとうございます!
お返事ありがとうございます!私は現在、RStudioでR 3.2.2を実行しています。私はPurrをインストールしようとしましたが、このバージョンでは使用できません:/そのため、マップ関数を効果的に使用することはできません...大規模なRアップデートが必要になります。 –
これは3.2.2で利用できるはずです。それが持つ最も高いRバージョン依存性は3.1.2( 'dplyr'を介して)です。 Rの最新バージョンへのアップデートは常に良いことですが、3つの "r"があることを確認してください。そのエラーは通常、パッケージ名の間違い( 'install.packages(" purrr ")'または単に 'purrr'、' xml2'などを含む 'install.packages(" tidyverse ")'を実行した結果です。パッケージ。 – alistaire
3番目のr < - "" purrr "でした。 xml_find_all関数がうまく機能しました。 –