我想從ClinicalTrials.gov的XML文件中提取信息。該文件分爲以下幾個方式:如何將XML的一部分轉換爲數據框? (正確)
<clinical_study>
...
<brief_title>
...
<location>
<facility>
<name>
<address>
<city>
<state>
<zip>
<country>
</facility>
<status>
<contact>
<last_name>
<phone>
<email>
</contact>
</location>
<location>
...
</location>
...
</clinical_study>
我可以使用R XML包從CRAN在下面的代碼從XML文件中提取的所有位置的節點:
library(XML)
clinicalTrialUrl <- "http://clinicaltrials.gov/ct2/show/NCT01480479?resultsxml=true"
xmlDoc <- xmlParse(clinicalTrialUrl, useInternalNode=TRUE)
locations <- xmlToDataFrame(getNodeSet(xmlDoc,"//location"))
這個工程樣的好。 但是,如果您查看數據框,您會注意到xmlToDataFrame函數將所有在<facility>
之下的所有內容整合到一個單獨的連接字符串中。一種解決方案是編寫代碼來逐列生成數據幀,例如,您可以生成
你可以這樣做:'xpathSApply(xmlDoc中, 「// clinical_study /位置/設備/名稱」,xmlValue)''到了分開的吸'每個組件。我不確定如何一舉完成。 –
thelatemail
謝謝thelatemail –
你做了什麼爲我完美工作。我的XML文件很簡單。 – Chernoff