【1.4】读取网页上东西,同时标注地图
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
这里是一个广告位,,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn