map_r

library(ggplot2)  #加载ggplot2包
library(ggmap)  #加载ggmap包
library(XML)   #加载XML包
library(maps)    #加载maps包
library(mapproj)  #加载mapproj包

# 将数据所在网址作为字符串存入url变量中

url <- 'http://data.earthquake.cn/datashare/globeEarthquake_csn.html';

# 对该网页内容进行解析,读取其中的所有表格,并存入tables变量中

tables<- readHTMLTable(url,stringsAsFactors = FALSE) ;

# 取出我们所需的第6个表格,存入变量raw

raw<- tables[[6]] ;   #[[6]]是什么意思呢?

#查看表格的第一行数据,这里不显示结果

raw[1,]

# 只保留时间、经度、纬度这三列数据,并存入变量data

data <- raw[ ,c(1,3,4)] ;

# 修改data包含的表格各列的名称为’date’、’lan’和’lon’

names(data) <- c('date','lan','lon') ;

# 将经度(data$lan)和纬度(data$lon)的数据类型用函数as.numeric()转换为数值类型

data$lan <- as.numeric(data$lan) ;
data$lon <- as.numeric(data$lon) ;

# 将时间(data$date)的数据类型用函数as.Date()转换为时间类型(“%Y-%m-%d”))

data$date <- as.Date(data$date, "%Y-%m-%d");
# 用ggmap包读取地图(该地图中心为 ‘china’,放大4倍,地图类型为地形图,范围为整个图形设备)+ 叠加散点图(散点数据来源于data数据框,以数据经纬度作为坐标值,散点颜色为红色,透明度为0.7,图解位置无)
ggmap(get_googlemap(center=’china’, zoom=4, maptype=’terrain’), extend=’device’)+
  geom_point (data=data, aes(x=lon,y=lan), colour=’red’, alpha=0.4)+
  opts(legend.position=”none”);

 

另外一个讲解,可以很好解释上面的吧
> library(XML)
> url <- "http://www.bioguo.org/AnimalTFDB/BrowseAllTF.php?spe=Mus_musculus"
> tables <- readHTMLTable(url)
> length(tables)
[1] 6
> names(tables)
[1] "NULL"   "NULL"   "NULL"   "NULL"   "table1" "NULL"
> dim(tables$table1)
[1] 1458    5
> head(tables$table1)
  No.         Ensembl ID Gene ID  Symbol            Family
1   1 ENSMUSG00000029313   17355    Aff1              AF-4
2   2 ENSMUSG00000031189   14266    Aff2              AF-4
3   3 ENSMUSG00000037138   16764    Aff3              AF-4
4   4 ENSMUSG00000049470   93736    Aff4              AF-4
5   5 ENSMUSG00000046532   11835      Ar Androgen receptor
6   6 ENSMUSG00000021359   21418 Tcfap2a              AP-2
   #通过尝试head(tables[[6]])可以知道上面的例子为什么为6.,但为什么是[[]]]还是不得而知哦

参考资料:
R语言与Bioconductor
糗世界 http://pgfe.umassmed.edu/ou/archives/3310

One thought on “读取网页上东西,同时标注地图

发表评论

电子邮件地址不会被公开。 必填项已用*标注