1.从HTML表中读取数据
在网页上表格或者列表是常见的数据类型。例如,以维基百科世界各国人口为例“http://en.wikipedia.org/wiki/List_of_countries_by_population”。网页图表方便人的理解,但是机器理解不容易。我们可以通过复制粘贴方法将数据复制到电子表格,但是这种方法比较繁琐。我们可以通过使用函数read.csv()和read.table()。如果网页格式比较友好,我们可以使用XML包中的readHTMLTable()函数。“http://en.wikipedia.org/wiki/List_of_countries_by_population”网页中的数据就是采用readHTMLTable函数方法。
========================================================
#载入XML包
> library(XML)
#确定网页地址,通过网页地址分析网页表格
> u
"http://en.wikipedia.org/wiki/List_of_countries_by_population"
> tbls
=========================================================
由于该网页包含多个表格,所以需呀确定哪个表格是我们需要的人口分布表。通过识别表的行数我们确定需要的表格。
=========================================================
#sapply(X,FUN)
#统计tbls各表的行数
#观察,表1是我们需要的表
> sapply(tbls,nrow)
$`NULL`
[1] 247
$`NULL`
[1] 1
$`NULL`
NULL
$`NULL`
[1] 18
$`NULL`
[1] 16
#读取网页u的第一张表
> pop
2、储存数据至硬盘
#存储pop为CSV文档
#write.csv(X,file="")
> write.csv(pop,file="d:/pop.csv")
==========================================================
保存为简单文本:
>write.table(x, file = "*.txt")
保存为逗号分割文本:
>write.csv(x, file = "*.csv")
保存为R格式文件:
>save(x, file = "*.Rdata")