R 数据分析方法(梅长林)exercise1-4

导入相关包

library(xlsx) ## 打开excel文件
library(ggplot2)

加载数据

source <- read.xlsx(file="exercise1-4.xlsx", 1, header=TRUE, encoding="UTF-8")
summary(source)
 省.直辖市.自治区     X11月           X1.11月       
 安徽   : 1       Min.   : 0.770   Min.   :   6.08  
 北京   : 1       1st Qu.: 8.265   1st Qu.: 105.35  
 福建   : 1       Median :14.770   Median : 179.41  
 甘肃   : 1       Mean   :19.166   Mean   : 246.19  
 广东   : 1       3rd Qu.:20.080   3rd Qu.: 270.75  
 广西   : 1       Max.   :99.320   Max.   :1080.26  
 (Other):25                                         
head(source)
A data.frame: 6 × 3
省.直辖市.自治区 X11月 X1.11月
<fct> <dbl> <dbl>
1 北京 35.22 499.80
2 天津 10.41 161.37
3 河北 17.22 273.29
4 山西 10.70 134.79
5 内蒙古 10.29 90.92
6 辽宁 18.66 348.99

(1)均值、方差、标准差、变异系数、偏度、峰度

## 均值
ColMean <- apply(source[, 2:3], 2, mean)
ColMean
X11月
19.1664516129032
X1.11月
246.193225806452
## 方差
ColVar <- apply(source[, 2:3], 2, var)
ColVar
X11月
392.030750322581
X1.11月
54275.9982492473
## 标准差
ColStd <- apply(source[, 2:3], 2, sd)
ColStd
X11月
19.7997664209096
X1.11月
232.972097576614
## 变异系数
ColCV <- ColStd/ColMean * 100
ColCV
X11月
103.30428824697
X1.11月
94.6297757842323
## 偏度
n = dim(source)[1]
pianD<-function(xx){
  yy=sum((xx-mean(xx))^3)/sd(xx)^3*n/(n-1)/(n-2);
  return(yy)
}
apply(source[, 2:3], 2, pianD)
X11月
2.51535182567297
X1.11月
1.91595698889706
## 峰度
fengD<-function(xx){
  aFeng=n*(n+1)/(n-1)/(n-2)/(n-3);
  bFeng=3*(n-1)^2/(n-2)/(n-3);
  yy=sum((xx-mean(xx))^4)/sd(xx)^4*aFeng-bFeng;
  return(yy)
}
apply(source[, 2:3], 2, fengD)
X11月
8.26698939080861
X1.11月
4.38523271345801

(2)求中位数、上下四分位数、四分位极差、三均值

## 中位数、上下四分位数
Q1 <- unname(quantile(source[,3], probs=c(0.25, 0.5, 0.75)))
Q2 <- unname(quantile(source[,4], probs=c(0.25, 0.5, 0.75)))
Q1
Q2
  1. 8.265
  2. 14.77
  3. 20.08
  1. 105.35
  2. 179.41
  3. 270.745
## 四分位极差
R1 <- Q1[3] - Q1[1]
R2 <- Q2[3] - Q2[1]
R1; R2;

11.815

165.395

## 三均值
M1 = 1/4*Q1[1] + 1/2*Q1[2] + 1/4*Q1[3]
M2 = 1/4*Q2[1] + 1/2*Q2[2] + 1/4*Q2[3]
M1; M2

14.47125

183.72875

(3)作出直方图

## 直方图
ggplot(source, aes(x=X11月)) + geom_histogram(position= 'identity', stat="bin", binwidth=10) 
ggplot(source, aes(x=X1.11月)) + geom_histogram(position= 'identity', stat="bin", binwidth=100) 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ES6zN90N-1586278271975)(output_17_0.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S4LGDflD-1586278271977)(output_17_1.png)]

(4)作出经验分布函数图

plot.ecdf(source[, 3])

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j3ECiL4Q-1586278271979)(output_19_0.png)]

plot.ecdf(source[, 4])

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tFVtcCLx-1586278271980)(output_20_0.png)]

(5) X 1 X_1 , X 2 X_2 的观测值的Pearson相关系数与Spearman相关系数

## Pearson
cor(source$X11月, source$X1.11月, method='pearson')

0.97624741596046

## Spearman
cor(source$X11月, source$X1.11月, method='spearman')

0.927822580645161

发布了154 篇原创文章 · 获赞 52 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44315987/article/details/105378660