2015-07-07 2 views
0

У меня есть XmlNodeSet (XML-пакет, язык программирования R), и мне нужно извлечь данные. Вот как это выглядит:извлечение данных из xmlNodeSet R

<drugScores> 
      <drug code="3TC" score="95" levelStanford="5" levelSIR="R" /> 
      <drug code="ABC" score="110" levelStanford="5" levelSIR="R" /> 
      <drug code="ATV/r" score="90" levelStanford="5" levelSIR="R" /> 
      <drug code="AZT" score="140" levelStanford="5" levelSIR="R" /> 
      <drug code="D4T" score="150" levelStanford="5" levelSIR="R" /> 
      <drug code="DDI" score="135" levelStanford="5" levelSIR="R" /> 
      <drug code="DRV/r" score="0" levelStanford="1" levelSIR="S" /> 
      <drug code="EFV" score="100" levelStanford="5" levelSIR="R" /> 
      <drug code="ETR" score="40" levelStanford="4" levelSIR="I" /> 
      <drug code="FPV/r" score="55" levelStanford="4" levelSIR="I" /> 
      <drug code="FTC" score="95" levelStanford="5" levelSIR="R" /> 
      <drug code="IDV/r" score="85" levelStanford="5" levelSIR="R" /> 
      <drug code="LPV/r" score="75" levelStanford="5" levelSIR="R" /> 
      <drug code="NFV" score="120" levelStanford="5" levelSIR="R" /> 
      <drug code="NVP" score="150" levelStanford="5" levelSIR="R" /> 
      <drug code="RPV" score="45" levelStanford="4" levelSIR="I" /> 
      <drug code="SQV/r" score="105" levelStanford="5" levelSIR="R" /> 
      <drug code="TDF" score="85" levelStanford="5" levelSIR="R" /> 
      <drug code="TPV/r" score="35" levelStanford="4" levelSIR="I" /> 
     </drugScores> 

я должен сделать матрицу, dataFrame или STH, который содержит код наркотиков, оценка, levelStanford, levelSIR. Вы можете мне помочь?

+1

Применить xmlAttrsToDataFrame к xmlNodeSet 'lapply (х [ "// drugScores"], XML ::: xmlAttrsToDataFrame)' –

ответ

-1
library(rvest) 
kk<-read_html("yourxml.xml") %>% 
html_nodes("drug") 
ss<-do.call(rbind,(lapply(c("code","score","levelStanford","levelSIR"),function(i)data.frame(cbind(type=i,values=html_attr(kk,i)))))) 
head(ss) 
    type values 
1 code 3TC 
2 code ABC 
3 code ATV/r 
4 code AZT 
5 code D4T 
6 code DDI 
Смежные вопросы