最近看大家说地震要频繁发生了,就挖了点数据来倒腾,这是美国地震局从1973年至今大于6级地震的历史数据:

http://dl.dropbox.com/u/3824701/earthquacks.csv

[attachment=203392,161]

数据来自美国地震局(USGS),历年按月世界范围内大于6级的地震频数热度图。颜色越深代表次数越多。

PS: 去USGS都是要翻墙的了~~[s:15]

[attachment=203392,162]

图上看出1990年后全球范围内大于6级的地震明显增多,且在其后的二十年里基本是稳定的。据USGS官方给出的原因是:咱的设备牛逼了,能探测到得地震也多了

数据里面有精度和纬度,谁能按,大陆海洋以及国家分个类不胜感激[s:11]

把代码贴出来,大家交流啊

<br />
quacks<-read.table("d:/data/earthquacks.csv",sep=",",header=TRUE)<br />
#year vs month<br />
freq.q<-table(quacks$year,quacks$month)<br />
bitmap("d:/heapmap.png",width=6,height=6,pointsize=12,res=300,family="Helvetica")<br />
    heatmap.q<- heatmap(freq.q, Rowv=NA, Colv=NA,<br />
        col = rainbow(256,start=.5,end=.6,alpha=1), scale="column", margins=c(5,5))<br />
dev.off();<br />
#year<br />
total.q<-data.frame(table(quacks$year))<br />
count<-total.q$Freq[1:37]<br />
#bitmap("d:/line.total.png",width=6,height=6,pointsize=12,res=300,family="Helvetica")<br />
      plot(1973:2009,count,type="l",col="gold",xlab="Year",ylab="Count")<br />
      title("1973-2009 6级以上地震频数图")<br />
#dev.off();<br />
</p>

回复 第1楼 的 reader0527:数据集大了些,需要的同学直接找我要吧~~

窃以为让读者读颜色不如读大小更直接(遇到色盲就更麻烦了),如

quake6 = read.csv("http://dl.dropbox.com/u/3824701/earthquacks.csv")<br />
## 若以上地址不可用,可以换作下面的地址试试<br />
## http://download664.mediafire.com/fwzyiwmwkQjg/zztijczjgga/earthquacks.csv<br />
library(ggplot2)<br />
qplot(year, month, data = quake6) + stat_sum(aes(size = ..n..)) +<br />
    scale_size(to = c(1, 10))
</p>

[attachment=203404,164]

要玩地图也不是难事,根据数据中的经度纬度画点就好了,如(给个按年份来的动画):

library(maps)<br />
## 去掉下面的注释,可以用animation包生成HTML页面动画<br />
# library(animation)<br />
# ani.start(ani.width = 500, ani.height = 300)<br />
par(mar = rep(0, 4), pch = 19, col = rgb(0, 0, 0, 0.7))<br />
for (i in unique(quake6$year)) {<br />
    map(col = "gray")<br />
    text(-10, -50, i, cex = 2, col = "gray")<br />
    with(quake6, points(long[year == i], lat[year == i]))<br />
    # Sys.sleep(1)<br />
}<br />
# ani.stop()
</p>

[attachment=203404,165]

如果感兴趣的话,这里是生成帖子中GIF动画的代码:

saveMovie({<br />
    par(mar = rep(0, 4), pch = 19, col = rgb(0, 0, 0, 0.7))<br />
    for (i in unique(quake6$year)) {<br />
        map(col = "gray")<br />
        text(-10, -50, i, cex = 2, col = "gray")<br />
        with(quake6, points(long[year == i], lat[year == i]))<br />
    }<br />
}, width = 500, height = 300, moviename = "quake-map-by-year")<br />
</p>

第一幅绿色的图看了半天才看出来啥意思,但是看出来以后,明显就发现地震趋于增多。第二幅图一眼就看出来了啥意思,但是这个趋势貌似消失了。。

回复 第3楼 的 谢益辉:很好很强大,和当年名震江湖的气泡图有得一拼了[s:11]

回复 第5楼 的 cloud_wei:把当年的名震江湖的气泡图给我看看...

回复 第5楼 的 cloud_wei:"saveMovie"这个函数在哪个library里?

回复 第7楼 的 ming_uld:小声地告诉你,是在一个叫做animation的包里,而且这个包的作者就在那一层中。[s:11]

回复 第7楼 的 ming_uld:你应该问“在哪个package里”

数据在网上打不开,能上传一下数据吗?谢谢了。

回复 第1楼 的 reader0527:

奇怪,我也打不开数据,能想个别的办法放下数据吗?

直接读取,就出现下面的报错:“

> quake6=read.csv("http://dl.dropbox.com/u/3824701/earthquacks.csv")

Error in file(file, "r") : cannot open the connection

In addition: Warning message:

In file(file, "r") : cannot open: HTTP status was '502 Bad Gateway'”

楼主,数据发我一份呗,Email:qq6112002@tom.com

回复 第11楼 的 myli:估计是国内连不上,等我找别地传了,给链接吧

回复 第11楼 的 myli:

回复 第12楼 的 花雨纷飞:

试试这个地址:

http://download664.mediafire.com/fwzyiwmwkQjg/zztijczjgga/earthquacks.csv

回复 第14楼 的 谢益辉:

谢谢,可是依旧打不开,估计在国内打不开了,找了几个人试验结果都如此。

能把数据暂时放在 http://download.cos.name 里面吗?

麻烦了 #_#

诗曰:翻山越岭后,数据得来时[s:11]

http://rapidshare.com/files/380674063/earthquacks.csv.html

这是数据的链接[s:11]

回复 第18楼 的 reader0527:

谢谢 ,辛苦了 :)