这篇文章主要讲解了“R语言导入与处理XML格式数据的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“R语言导入与处理XML格式数据的方法”吧!
创新互联公司专注于定襄企业网站建设,成都响应式网站建设公司,商城系统网站开发。定襄网站建设公司,为定襄等地区提供建站服务。全流程按需开发,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务数据解析XML是一种可扩展标记语言,它被设计用来传输和存储数据。XML是各种应用程序之间进行数据传输的最常用的工具。它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,它仅仅是存储数据。事实上它与其他数据表现形式大的不同是:它极其简单,这是一个看上去有点琐细的优点,但正是这点使它与众不同。
针对XML格式数据,R语言XML包可以对其进行数据导入与处理,详见下面的案例说明。
案例1直接输入一段标记语言文本,使用XML包解析。
library(XML) tt = '<x> <a>text</a> <b foo="1"/> <c bar="me"> <d>a phrase</d> </c> </x>' doc = xmlParse(tt) xmlToList(doc) # use an R-level node representation doc = xmlTreeParse(tt) xmlToList(doc)案例2
导入已有的xml格式数据并处理,本案例用到的是手机通讯录xml数据,按如下步骤操作:
#读取xml格式数据并解析 xmlfile=xmlParse(file.choose(),encoding="UTF-8") class(xmlfile) #形成根目录列表数据 xmltop = xmlRoot(xmlfile) class(xmltop) #查看类 xmlName(xmltop) #查看根目录名 xmlSize(xmltop) #查看根目录总数 xmlName(xmltop[[1]]) #查看子目录名 # 查看第一个子目录 xmltop[[1]] # 查看第二个子目录 xmltop[[2]] #子目录节点 xmlSize(xmltop[[1]]) #子目录节点数 xmlSApply(xmltop[[1]], xmlName) #子目录节点名 xmlSApply(xmltop[[1]], xmlAttrs) #子目录节点属性 xmlSApply(xmltop[[1]], xmlSize) #子目录节点大小 #查看第一个子目录的第一个节点 xmltop[[1]][[1]] #查看第一个子目录的第二个节点 xmltop[[1]][[2]] #第二个子目录 xmltop[[2]][[1]] xmltop[[2]][[2]] xmltop[[1]][[3]][[1]][[1]] #查看联系人电话 xmltop[['Contact']][['PhoneList']][[1]][[1]] #第二种方式 getNodeSet(xmltop, "//Contact/PhoneList")[[1]][[1]][[1]] #第三种方式 xmltop[[1]][[3]][[1]][[1]] = 13717232323 #更改联系人电话 xmltop[[1]][[1]][[1]]= "zhangsan "#更改联系人姓名 #保存 saveXML(xmltop, file="out.xml",encoding="UTF-8")xml格式转dataframe
按如下步骤操作:
xmlToDataFrame(xmlfile) #第一种方式,直接用xmlToDataFrame()函数 library("plyr") #第二种方式,数据格式处理专用包plyr MyContact=ldply(xmlToList(file.choose()), data.frame) #先转成list,再转dataframe View(MyContact) # 查看联系方式 MyContact[,c("Name" ,"PhoneList.Phone.text")] # 联系方式保存 write.csv(MyContact, "MyContact.csv", row.names=FALSE)
感谢各位的阅读,以上就是“R语言导入与处理XML格式数据的方法”的内容了,经过本文的学习后,相信大家对R语言导入与处理XML格式数据的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
网站栏目:R语言导入与处理XML格式数据的方法-创新互联
标题来源:https://www.cdcxhl.com/article46/dhiseg.html
成都网站建设公司_创新互联,为您提供网站改版、用户体验、网站设计、标签优化、网站维护、云服务器
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联