【问题标题】:xml to r data extractionxml到r数据提取
【发布时间】:2012-05-25 13:51:38
【问题描述】:

我需要从 xml 文件中提取数据并绘制以下图表: 深度与时间戳。标题应该是 IFC 代码。我尝试使用 xmlToList 和 xmlTodataframe,但我没有这样做。我需要帮助。我的 xml 文件看起来像

 <document>
    <site>
       <IFC_code>HONEYCR01</IFC_code>
       <Latitude>41.960161</Latitude>
       <Longitude>-90.470759</Longitude>
       <River>Honey Creek</River>
       <Road>Hwy 136, 1st Street</Road>
       <Town>Charlotte</Town>
       <from_sensor_to_river_bottom>9.35</from_sensor_to_river_bottom>
       <Unit>foot</Unit>
    </site>
    <data>
       <value>
          <timestamp>2012-05-17 15:30:03-05</timestamp>
          <depth>8.53</depth>
       </value>
       <value>
          <timestamp>2012-05-17 14:30:06-05</timestamp>
          <depth>8.50</depth>
       </value>
       <value>
          <timestamp>2012-05-17 14:15:02-05</timestamp>
          <depth>8.51</depth>
       </value>
       <value>
          <timestamp>2012-05-17 14:00:12-05</timestamp>
          <depth>8.50</depth>
       </value>
       <value>
          <timestamp>2012-05-17 13:45:08-05</timestamp>
          <depth>8.51</depth>
       </value>
      </data>
    </document>

【问题讨论】:

  • 什么不起作用?您收到了哪些错误消息?

标签: xml r xml-parsing


【解决方案1】:

它似乎有效:

library(XML)
doc <- xmlParse("a.xml")
xmlToDataFrame(
  getNodeSet(doc, "//value"),
  colClasses=c("character","numeric")
)

【讨论】:

  • 如果我想在 from_sensor_to river_bottom vs time 之间绘制图表怎么办?
  • 您必须将时间戳从字符串转换为实际时间戳。如果可以丢弃时间戳末尾的-05,可以使用library(stringr); d$timestamp &lt;- as.POSIXct( str_trim(d$timestamp) ); plot(depth ~ timestamp, data=d, las=1, type="b", pch=15)
  • 感谢您的帮助。我们可以进行算术运算,例如在以下之间绘制图表:{( from_sensor_to river_bottom)-(depth) }VS Time 吗?我必须承认你是个天才!!向你致敬
  • 你可以用xpathSApplyxmlValue提取值:y &lt;- as.numeric( xpathSApply(doc, "//from_sensor_to_river_bottom", xmlValue) ); plot(y - depth ~ timestamp, data=d, las=1, type="b", pch=15)
  • 那行得通..非常感谢.. :) 非常感谢您的帮助,这些天我可能会发布更多问题.. 希望您能回答他们..
猜你喜欢
  • 1970-01-01
  • 2015-10-04
  • 2020-02-22
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多