用R语言进行数据分析

阅读: 评论:0

用R语言进行数据分析

用R语言进行数据分析

用美国地震台网公布的全球2013年5月20日22点到24点发生的所有地震的震级数据实验。

> mag<-c(1.6,0.9,2.1,2.2,2.3,1.7,1.3,1.6,4.7,1.2,0.9,4.7,0.6,5.3,1.1,4.8,4,4.2,4.6,1.3,2.1,1.5,3)
> mag[1] 1.6 0.9 2.1 2.2 2.3 1.7 1.3 1.6 4.7 1.2 0.9 4.7 0.6 5.3 1.1 4.8 4.0 4.2 4.6 1.3 2.1 1.5 3.0> factor(cut(mag,5))#建立因子[1] (1.54,2.48]  (0.595,1.54] (1.54,2.48]  (1.54,2.48]  (1.54,2.48]  (1.54,2.48]  (0.595,1.54][8] (1.54,2.48]  (4.36,5.3]   (0.595,1.54] (0.595,1.54] (4.36,5.3]   (0.595,1.54] (4.36,5.3]  
[15] (0.595,1.54] (4.36,5.3]   (3.42,4.36]  (3.42,4.36]  (4.36,5.3]   (0.595,1.54] (1.54,2.48] 
[22] (0.595,1.54] (2.48,3.42] 
Levels: (0.595,1.54] (1.54,2.48] (2.48,3.42] (3.42,4.36] (4.36,5.3]
> factor(cut(mag,5))->magfactor#统计因子频率
> table(magfactor)
magfactor
(0.595,1.54]  (1.54,2.48]  (2.48,3.42]  (3.42,4.36]   (4.36,5.3] 8            7            1            2            5 #绘制直方图
> hist(mag,breaks = 5)

下面读取地震文件进行分析:

> read.table("F:/Machine Learning/R Basic/eqweek.csv",header = TRUE,sep = ",")->earthquakeDateTime Latitude Longitude Depth Magnitude MagType NbStations
1    2013-05-20T23:57:12.000+00:00   63.450  -148.291   5.5       1.6      Ml         NA
2    2013-05-20T23:52:59.000+00:00   61.337  -152.069  81.4       2.1      Ml         NA
3    2013-05-20T23:49:15.100+00:00   19.990  -155.426  38.2       2.2      Md         NA
4    2013-05-20T23:46:36.000+00:00   60.498  -142.974   4.2       2.3      Ml         NA
5    2013-05-20T23:44:07.000+00:00   64.997  -147.444    NA       1.7      Ml         NA
...#画出直方图分析
> hist(earthquake$Magnitude,5)     


要精确分析频率大小需要进行因子频率分析:

> table(factor(cut(earthquake$Magnitude,5)))(0.995,2.1]   (2.1,3.2]   (3.2,4.3]   (4.3,5.4]  (5.4,6.51] 720         178          41         126          10 

下面分析一下地震深度:

> attach(earthquake)
> summary(Depth)Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 0.10    5.80   12.15   30.82   38.00  630.70      39 

作出Magnitude和Depth的散点图分析一下:

> plot(Depth,Magnitude,main = "Magnitude和Depth的关系")

好像并没有什么关系,只能说当Depth大于了300后Magnitude在5左右,而当Depth小于300时,Magnitude取值不确定。

下面绘制一下有数据点的震级直方图:

> hist(Magnitude)
> rug(Magnitude)

用五分位数法分析下Magnitude和Depth

> fivenum(Magnitude)
[1] 1.0 1.3 1.7 2.5 6.5
> fivenum(Depth)
[1]   0.10   5.80  12.15  38.00 630.70

学过统计学就知道,累积分布函数描述了随机变量X的概率分布,R语言通过ecdf函数计算累积分布:

> ecdf(Magnitude)->mag_ecdf
> mag_ecdf
Empirical CDF 
Call: ecdf(Magnitude)x[1:50] =      1,    1.1,    1.2,  ...,      6,    6.5
> plot(mag_ecdf,do.points = FALSE,verticals = TRUE)

绘制一下核密度直方图(hist()函数指定参数prob = TRUE)和核密度曲线(用density进行核密度估计)

> hist(Magnitude,prob = TRUE)
> lines(density(Magnitude))

本文发布于:2024-02-01 17:04:03,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170677824438139.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语言   数据
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23