在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)分析&挖掘/ R語(yǔ)言XML文件
R語(yǔ)言列表
R語(yǔ)言隨機(jī)森林
R語(yǔ)言矩陣
R語(yǔ)言邏輯回歸
R語(yǔ)言數(shù)據(jù)幀
R語(yǔ)言數(shù)據(jù)重塑
R語(yǔ)言概述
R語(yǔ)言包
R語(yǔ)言字符串
R語(yǔ)言CSV文件
R語(yǔ)言運(yùn)算符
為什么使用R語(yǔ)言做統(tǒng)計(jì)?
R語(yǔ)言Web數(shù)據(jù)
R語(yǔ)言二進(jìn)制文件
R語(yǔ)言XML文件
R語(yǔ)言JSON文件
R語(yǔ)言因子
R語(yǔ)言容易學(xué)習(xí)嗎?
R語(yǔ)言基礎(chǔ)語(yǔ)法
R語(yǔ)言向量
R語(yǔ)言教程
R語(yǔ)言正態(tài)分布
R語(yǔ)言平均值,中位數(shù)和眾數(shù)
R語(yǔ)言變量
R語(yǔ)言條形圖
R語(yǔ)言決策樹
R語(yǔ)言開發(fā)環(huán)境安裝配置
R語(yǔ)言數(shù)組
R語(yǔ)言數(shù)據(jù)類型
R語(yǔ)言非線性最小二乘法
R語(yǔ)言直方圖
R語(yǔ)言卡方檢驗(yàn)
R語(yǔ)言泊松回歸
R語(yǔ)言決策結(jié)構(gòu)
R語(yǔ)言盒形圖(箱形圖)
R語(yǔ)言協(xié)方差分析
R語(yǔ)言二項(xiàng)分布
R語(yǔ)言餅狀圖
R語(yǔ)言循環(huán)
R語(yǔ)言散點(diǎn)圖
R語(yǔ)言線性回歸
R語(yǔ)言時(shí)間序列分析
R語(yǔ)言線形圖
R語(yǔ)言在現(xiàn)實(shí)中的應(yīng)用
R語(yǔ)言生存分析
R語(yǔ)言多元(多重)回歸
R語(yǔ)言函數(shù)
R語(yǔ)言Excel文件
R語(yǔ)言連接數(shù)據(jù)庫(kù)(MySQL)

R語(yǔ)言XML文件

XML是萬(wàn)維網(wǎng)上使用標(biāo)準(zhǔn)ASCII文本,內(nèi)部網(wǎng)和其他地方共享文件格式和數(shù)據(jù)的文件格式。 它代表可擴(kuò)展標(biāo)記語(yǔ)言(XML)。 與HTML類似,它包含標(biāo)記標(biāo)簽。但與標(biāo)記標(biāo)簽描述頁(yè)面結(jié)構(gòu)的HTML不同,標(biāo)記標(biāo)簽描述了文件中包含的數(shù)據(jù)的含義。

可以使用“XML”包讀取R中的xml文件,使用以下命令安裝此軟件包。

install.packages("XML")

準(zhǔn)備XML文件數(shù)據(jù)

通過(guò)將以下數(shù)據(jù)復(fù)制到文本編輯器(如記事本)中來(lái)創(chuàng)建XMl文件。 使用.xml擴(kuò)展名保存文件,并將文件類型選為所有文件(*.*)。創(chuàng)建一個(gè)XML文件:input.xml,內(nèi)容如下 -

<RECORDS>
   <EMPLOYEE>
      <ID>1</ID>
      <NAME>Rick</NAME>
      <SALARY>623.3</SALARY>
      <STARTDATE>1/1/2012</STARTDATE>
      <DEPT>IT</DEPT>
   </EMPLOYEE>

   <EMPLOYEE>
      <ID>2</ID>
      <NAME>Dan</NAME>
      <SALARY>515.2</SALARY>
      <STARTDATE>9/23/2013</STARTDATE>
      <DEPT>Operations</DEPT>
   </EMPLOYEE>

   <EMPLOYEE>
      <ID>3</ID>
      <NAME>Michelle</NAME>
      <SALARY>611</SALARY>
      <STARTDATE>11/15/2014</STARTDATE>
      <DEPT>IT</DEPT>
   </EMPLOYEE>

   <EMPLOYEE>
      <ID>4</ID>
      <NAME>Ryan</NAME>
      <SALARY>729</SALARY>
      <STARTDATE>5/11/2014</STARTDATE>
      <DEPT>HR</DEPT>
   </EMPLOYEE>

   <EMPLOYEE>
      <ID>5</ID>
      <NAME>Gary</NAME>
      <SALARY>843.25</SALARY>
      <STARTDATE>3/27/2015</STARTDATE>
      <DEPT>Finance</DEPT>
   </EMPLOYEE>

   <EMPLOYEE>
      <ID>6</ID>
      <NAME>Nina</NAME>
      <SALARY>578</SALARY>
      <STARTDATE>5/21/2013</STARTDATE>
      <DEPT>IT</DEPT>
   </EMPLOYEE>

   <EMPLOYEE>
      <ID>7</ID>
      <NAME>Simon</NAME>
      <SALARY>632.8</SALARY>
      <STARTDATE>7/30/2013</STARTDATE>
      <DEPT>Operations</DEPT>
   </EMPLOYEE>

   <EMPLOYEE>
      <ID>8</ID>
      <NAME>Guru</NAME>
      <SALARY>722.5</SALARY>
      <STARTDATE>6/17/2014</STARTDATE>
      <DEPT>Finance</DEPT>
   </EMPLOYEE>

</RECORDS>

讀取XML文件

R使用xmlParse()函數(shù)來(lái)讀取xml文件,它作為列表存儲(chǔ)在R中。

# Load the package required to read XML files.
library("XML")

# Also load the other required package.
library("methods")

# Give the input file name to the function.
result <- xmlParse(file = "input.xml")

# Print the result.
print(result)

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

<?xml version="1.0"?>
<RECORDS>
  <EMPLOYEE>
    <ID>1</ID>
    <NAME>Rick</NAME>
    <SALARY>623.3</SALARY>
    <STARTDATE>1/1/2012</STARTDATE>
    <DEPT>IT</DEPT>
  </EMPLOYEE>
  <EMPLOYEE>
    <ID>2</ID>
    <NAME>Dan</NAME>
    <SALARY>515.2</SALARY>
    <STARTDATE>9/23/2013</STARTDATE>
    <DEPT>Operations</DEPT>
  </EMPLOYEE>
  <EMPLOYEE>
    <ID>3</ID>
    <NAME>Michelle</NAME>
    <SALARY>611</SALARY>
    <STARTDATE>11/15/2014</STARTDATE>
    <DEPT>IT</DEPT>
  </EMPLOYEE>
  <EMPLOYEE>
    <ID>4</ID>
    <NAME>Ryan</NAME>
    <SALARY>729</SALARY>
    <STARTDATE>5/11/2014</STARTDATE>
    <DEPT>HR</DEPT>
  </EMPLOYEE>
  <EMPLOYEE>
    <ID>5</ID>
    <NAME>Gary</NAME>
    <SALARY>843.25</SALARY>
    <STARTDATE>3/27/2015</STARTDATE>
    <DEPT>Finance</DEPT>
  </EMPLOYEE>
  <EMPLOYEE>
    <ID>6</ID>
    <NAME>Nina</NAME>
    <SALARY>578</SALARY>
    <STARTDATE>5/21/2013</STARTDATE>
    <DEPT>IT</DEPT>
  </EMPLOYEE>
  <EMPLOYEE>
    <ID>7</ID>
    <NAME>Simon</NAME>
    <SALARY>632.8</SALARY>
    <STARTDATE>7/30/2013</STARTDATE>
    <DEPT>Operations</DEPT>
  </EMPLOYEE>
  <EMPLOYEE>
    <ID>8</ID>
    <NAME>Guru</NAME>
    <SALARY>722.5</SALARY>
    <STARTDATE>6/17/2014</STARTDATE>
    <DEPT>Finance</DEPT>
  </EMPLOYEE>
</RECORDS>

獲取XML文件中存在的節(jié)點(diǎn)數(shù)

# Load the packages required to read XML files.
library("XML")
library("methods")

# Give the input file name to the function.
result <- xmlParse(file = "input.xml")

# Exract the root node form the xml file.
rootnode <- xmlRoot(result)

# Find number of nodes in the root.
rootsize <- xmlSize(rootnode)

# Print the result.
print(rootsize)

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

output
[1] 8

第一個(gè)節(jié)點(diǎn)的詳細(xì)信息

下面來(lái)看看如何解析文件的第一條記錄,它將給出對(duì)頂級(jí)節(jié)點(diǎn)中存在的各種元素的詳細(xì)信息。

# Load the packages required to read XML files.
library("XML")
library("methods")

# Give the input file name to the function.
result <- xmlParse(file = "input.xml")

# Exract the root node form the xml file.
rootnode <- xmlRoot(result)

# Print the result.
print(rootnode[1])

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

$EMPLOYEE
<EMPLOYEE>
  <ID>1</ID>
  <NAME>Rick</NAME>
  <SALARY>623.3</SALARY>
  <STARTDATE>1/1/2012</STARTDATE>
  <DEPT>IT</DEPT>
</EMPLOYEE> 

attr(,"class")
[1] "XMLInternalNodeList" "XMLNodeList"

獲取節(jié)點(diǎn)的其它元素

# Load the packages required to read XML files.
library("XML")
library("methods")

# Give the input file name to the function.
result <- xmlParse(file = "input.xml")

# Exract the root node form the xml file.
rootnode <- xmlRoot(result)

# Get the first element of the first node.
print(rootnode[[1]][[1]])

# Get the fifth element of the first node.
print(rootnode[[1]][[5]])

# Get the second element of the third node.
print(rootnode[[3]][[2]])

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

<ID>1</ID> 
<DEPT>IT</DEPT> 
<NAME>Michelle</NAME>

XML轉(zhuǎn)到數(shù)據(jù)幀

為了在大文件中有效處理數(shù)據(jù),我們以xml文件的形式讀取數(shù)據(jù)作為數(shù)據(jù)幀。然后處理數(shù)據(jù)幀進(jìn)行數(shù)據(jù)分析。

# Load the packages required to read XML files.
library("XML")
library("methods")

# Convert the input xml file to a data frame.
xmldataframe <- xmlToDataFrame("input.xml")
print(xmldataframe)

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

  ID     NAME SALARY  STARTDATE       DEPT
1  1     Rick  623.3   1/1/2012         IT
2  2      Dan  515.2  9/23/2013 Operations
3  3 Michelle    611 11/15/2014         IT
4  4     Ryan    729  5/11/2014         HR
5  5     Gary 843.25  3/27/2015    Finance
6  6     Nina    578  5/21/2013         IT
7  7    Simon  632.8  7/30/2013 Operations
8  8     Guru  722.5  6/17/2014    Finance

由于數(shù)據(jù)現(xiàn)在已經(jīng)轉(zhuǎn)為數(shù)據(jù)幀,所以我們可以使用數(shù)據(jù)幀相關(guān)函數(shù)來(lái)讀取和操作文件。