解析data.frame中的XML单列
我得到的数据是data.frame,但其中一列包含一个单元格,每个单元格包含几个xml元素 像这样的解析data.frame中的XML单列,r,xml,dplyr,R,Xml,Dplyr,我得到的数据是data.frame,但其中一列包含一个单元格,每个单元格包含几个xml元素 像这样的 label_col = c("A", "B") number_col = c(123, 456) XML_col = c("<CD><TITLE>Empire Burlesque</TITLE><ARTIST>Bob Dylan</ARTIST></CD><CD&g
label_col = c("A", "B")
number_col = c(123, 456)
XML_col = c("<CD><TITLE>Empire Burlesque</TITLE><ARTIST>Bob Dylan</ARTIST></CD><CD><TITLE>Hide your heart</TITLE><ARTIST>Bonnie Tyler</ARTIST></CD>",
"<CD><TITLE>ABC</TITLE><ARTIST>XYZ</ARTIST></CD><CD><TITLE>EFG</TITLE><ARTIST>UVW</ARTIST></CD></CATALOG>")
Sample_df = data.frame(label_col, number_col, XML_col)
标签c(“A”、“B”)
编号=c(123456)
XML_col=c(“帝国城堡”Bob DylanHide your heartBonnie Tyler),
“ABCXYZEFGUVW”)
Sample\u df=data.frame(标签、数字、XML)
现在我可以看到每个单元格中的XML不是由一对标记包含的,所以我添加了它们
library(dplyr)
Sample_df %>%
mutate(XML_col = paste0("<Data>",XML_col,"</Data>"))
库(dplyr)
样本_df%>%
mutate(XML\u col=paste0(“,XML\u col,”))
现在,由于每个XML元素包含多(2)个项目,我希望我的数据帧从2x3变为4x4(列为……label\u col、number\u col、TITLE、ARTIST)
我卡住了!我尝试使用unnest和unnest_的时间更长了,但我真的不知道该怎么做
关于xml解析的大多数示例似乎都是从xml文件开始的,而不是上面提到的混合文件
谁能给我一头牛吗?(不要说哞!)
非常感谢 我将假设不匹配的
标记只是一个输入错误,您的实际输入是经过验证的、格式良好的XML
一般步骤如下:
xml\u文档中
标题
节点执行此操作,但也应该为其他节点轻松复制
库(dplyr)
图书馆(purrr)
库(xml2)
图书馆(tidyr)
label_col@Markus我花了一点时间才回到问题上来,但你的解决方案非常有效。非常感谢!