欢迎光临散文网 会员登陆 & 注册

如何从xml文件创建R语言数据框dataframe

2021-06-03 16:50 作者:拓端tecdat  | 我要投稿

原文链接:http://tecdat.cn/?p=16788

原文出处:拓端数据部落公众号

 

问题重现 

软件:R语言

环境:windows

问题描述:我有一个XML文档文件。文件的一部分如下所示:

  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <List>

  3. <SubCategory>

  4. <ID>BO</ID>

  5. <Name>Bookcases</Name>

  6. </SubCategory>

  7. <SubCategory>

  8. <ID>CH</ID>

  9. <Name>Chairs</Name>

  10. </SubCategory>

  11. <SubCategory>

  12. <ID>LA</ID>

  13. <Name>Labels</Name>

  14. </SubCategory>

  15. <SubCategory>

  16. <ID>TA</ID>

  17. <Name>Tables</Name>

  18. </SubCategory>

  19. <SubCategory>

  20. <ID>ST</ID>

  21. <Name>Storage</Name>

  22. </SubCategory>

  23. <SubCategory>

  24. <ID>FU</ID>

  25. <Name>Furnishings</Name>

  26. </SubCategory>

  27. <SubCategory>

  28. <ID>AR</ID>

  29. <Name>Art</Name>

  30. </SubCategory>

  31. <SubCategory>

  32. <ID>PH</ID>

  33. <Name>Phones</Name>

  34. </SubCategory>

  35. <SubCategory>

  36. <ID>BI</ID>

  37. <Name>Binders</Name>

  38. </SubCategory>

  39. <SubCategory>

  40. <ID>AP</ID>

  41. <Name>Appliances</Name>

  42. </SubCategory>

  43. <SubCategory>

  44. <ID>PA</ID>

  45. <Name>Paper</Name>

  46. </SubCategory>

  47. <SubCategory>

  48. <ID>AC</ID>

  49. <Name>Accessories</Name>

  50. </SubCategory>

  51. <SubCategory>

  52. <ID>EN</ID>

  53. <Name>Envelopes</Name>

  54. </SubCategory>

  55. <SubCategory>

  56. <ID>FA</ID>

  57. <Name>Fasteners</Name>

  58. </SubCategory>

  59. <SubCategory>

  60. <ID>SU</ID>

  61. <Name>Supplies</Name>

  62. </SubCategory>

  63. <SubCategory>

  64. <ID>MA</ID>

  65. <Name>Machines</Name>

  66. </SubCategory>

  67. <SubCategory>

  68. <ID>CO</ID>

  69. <Name>Copiers</Name>

  70. </SubCategory>

  71. </List>

从这个XML文件中,我想创建一个具有ID,name 列的R数据框。请注意,name和ID应包含变量的所有级别。

解决方案

假设这是正确的taxlots.shp.xml文件:

  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <List>

  3. <SubCategory>

  4. <ID>BO</ID>

  5. <Name>Bookcases</Name>

  6. </SubCategory>

  7. <SubCategory>

  8. <ID>CH</ID>

  9. <Name>Chairs</Name>

  10. </SubCategory>

  11. <SubCategory>

  12. <ID>LA</ID>

  13. <Name>Labels</Name>

  14. </SubCategory>

  15. <SubCategory>

  16. <ID>TA</ID>

  17. <Name>Tables</Name>

  18. </SubCategory>

  19. <SubCategory>

  20. <ID>ST</ID>

  21. <Name>Storage</Name>

  22. </SubCategory>

  23. <SubCategory>

  24. <ID>FU</ID>

  25. <Name>Furnishings</Name>

  26. </SubCategory>

  27. <SubCategory>

  28. <ID>AR</ID>

  29. <Name>Art</Name>

  30. </SubCategory>

  31. <SubCategory>

  32. <ID>PH</ID>

  33. <Name>Phones</Name>

  34. </SubCategory>

  35. <SubCategory>

  36. <ID>BI</ID>

  37. <Name>Binders</Name>

  38. </SubCategory>

  39. <SubCategory>

  40. <ID>AP</ID>

  41. <Name>Appliances</Name>

  42. </SubCategory>

  43. <SubCategory>

  44. <ID>PA</ID>

  45. <Name>Paper</Name>

  46. </SubCategory>

  47. <SubCategory>

  48. <ID>AC</ID>

  49. <Name>Accessories</Name>

  50. </SubCategory>

  51. <SubCategory>

  52. <ID>EN</ID>

  53. <Name>Envelopes</Name>

  54. </SubCategory>

  55. <SubCategory>

  56. <ID>FA</ID>

  57. <Name>Fasteners</Name>

  58. </SubCategory>

  59. <SubCategory>

  60. <ID>SU</ID>

  61. <Name>Supplies</Name>

  62. </SubCategory>

  63. <SubCategory>

  64. <ID>MA</ID>

  65. <Name>Machines</Name>

  66. </SubCategory>

  67. <SubCategory>

  68. <ID>CO</ID>

  69. <Name>Copiers</Name>

  70. </SubCategory>

  71. </List>

XML格式的数据很少以允许该xmlToDataFrame功能正常工作的方式进行组织。最好提取列表中的所有内容,然后将列表绑定到数据框中:

 

 

  1. data <- xmlParse("ProductSubcategory.xml")


  2. xml_data <- xmlToList(data)


  3. dataDictionary <- xmlToDataFrame(getNodeSet(data,"//SubCategory"))

最受欢迎的见解

1.如何解决线性混合模型中畸形拟合(SINGULAR FIT)的问题

2.在UBUNTU虚拟机上安装R软件包

3.WINDOWS中用命令行执行R语言命令

4.R语言GGSURVPLOT绘制生存曲线报错 : OBJECT OF TYPE ‘SYMBOL‘ IS NOT SUBSETTABLE


如何从xml文件创建R语言数据框dataframe的评论 (共 条)

分享到微博请遵守国家法律