R语言统计分析(简单统计分析和绘图)

标签:
r语言统计绘图 |
分类: 数据统计与分析 |
数据
表1 |
|
|||||
地区 |
投资总额 (亿元) |
从业人数 (万人) |
能源投入 (万吨标准煤) |
地区GDP (亿元) |
CO2排放量 (万吨) |
|
A |
211.64 |
18.13 |
159.97 |
5549.79 |
398.81 |
|
B |
24.95 |
2.63 |
58.81 |
1207.05 |
146.61 |
|
C |
115.92 |
3.08 |
82.51 |
2981.12 |
205.70 |
|
D |
20.58 |
2.28 |
106.76 |
1495.80 |
266.15 |
|
E |
56.83 |
1.46 |
86.66 |
1566.90 |
216.04 |
|
F |
15.95 |
0.36 |
27.17 |
545.78 |
67.73 |
|
G |
14.75 |
1.91 |
70.40 |
1619.77 |
175.51 |
|
H |
42.68 |
2.24 |
163.26 |
1551.35 |
407.01 |
|
I |
31.56 |
0.80 |
62.85 |
989.70 |
156.69 |
|
G |
24.56 |
1.54 |
63.22 |
1716.19 |
157.61 |
|
K |
15.86 |
0.85 |
25.22 |
797.12 |
62.87 |
|
L |
94.30 |
0.98 |
26.83 |
1127.32 |
66.89 |
|
M |
71.78 |
3.02 |
69.60 |
2340.73 |
173.51 |
|
N |
29.56 |
2.34 |
207.87 |
1397.28 |
518.22 |
|
O |
70.85 |
2.02 |
117.29 |
1397.32 |
292.40 |
|
P |
32.54 |
2.05 |
100.24 |
1574.72 |
249.90 |
|
Q |
19.00 |
2.15 |
81.98 |
1373.55 |
204.38 |
|
R |
3.47 |
0.16 |
35.59 |
430.86 |
88.73 |
|
表2 |
|
|||||
年份 |
投资总额 (亿元) |
从业人数 (万人) |
能源投入 (万吨标准煤) |
地区GDP (亿元) |
CO2排放量 (万吨) |
|
2003年 |
320.1 |
166.37 |
487.82 |
6867.7 |
1216.14 |
|
2004年 |
373.87 |
180.37 |
509.12 |
8553.79 |
1269.24 |
|
2005年 |
468.35 |
187.29 |
649.93 |
10587.42 |
1620.28 |
|
2006年 |
568.4 |
188.9 |
673.04 |
12362.79 |
1677.89 |
|
2007年 |
426.06 |
198.65 |
772.28 |
15012.46 |
1925.29 |
|
2008年 |
389.43 |
204.46 |
802.43 |
18407.78 |
2000.46 |
|
2009年 |
484.44 |
207.7 |
875.72 |
19480.46 |
2183.17 |
|
2010年 |
661.88 |
213.14 |
1340.6 |
23092.36 |
3342.12 |
|
2011年 |
784.37 |
217.8 |
1288.68 |
26931.03 |
3212.68 |
|
2012年 |
896.8 |
222.77 |
1418.56 |
29599.31 |
3536.47 |
|
简单统计及绘图
调用summary()函数对表1中的数据进行简单统计。代码中出现的invest,worker,energy,gdp,carbon等词语分别代表表格中的投资总额、从业人数、能源投入地区GDP、CO2排放量。具体代码如下:
setwd("c:\\Data\\")
diqu<-read.table(file="diqu.txt",header=TRUE)
invest<-summary(diqu$Invest)
worker<-summary(diqu$Worker)
energy<-summary(diqu$Energy)
gdp<-summary(diqu$GDP)
carbon<-summary(diqu$Carbon)
Sum<-rbind(invest,worker,energy,gdp,carbon)
Sum
invest
worker
energy
gdp
carbon
setwd("c:\\Data\\")
diqu<-read.table(file="diqu.txt",header=TRUE)
gdp<-diqu$GDP
names(gdp)<-diqu$Area
pie(gdp,col=rainbow(18),clockwise=TRUE,main="2012年各地区GDP比重")
|
setwd("c:\\Data\\")
zongti<-read.table(file="zongti.txt",header=TRUE)
invest<-zongti$Invest
names(invest)<-zongti$Time
barplot(invest,main="2003-2012年某省运输业固定资产投资总额(亿元)")
|
对表2中某省2003-2012年的运输业从业人数进行统计,并绘制折线图,具体代码如下:
setwd("c:\\Data\\")
zongti<-read.table(file="zongti.txt",header=TRUE)
worker<-zongti$Worker
time<-zongti$Time
plot(time,worker,col="blue",axes=FALSE, ann=FALSE)
axis(1)
axis(2)
box()
lines(time,worker,col="red")
text(2008,200,"从业人数")
title(main="2003-2012年某省运输业从业人数变化", xlab="年份",ylab="万人")
得到的柱状图如图所示:
|
为了衡量每个地区对运输业的投入状况,需要确定单一的指标来进行比较,但是现有的数据分为三个指标,即固定资产投入、劳动力投入和能源投入。通过以下代码,我们将不同指标的数值进行标准化处理,并就各个地区对运输业的投入进行打分和比较。具体代码如下:
setwd("c:\\Data\\")
options(digits=4)
diqu<- read.table(file="diqu.txt",header=TRUE)
q <- scale(diqu[,2:4])
Score <- apply(q,1,mean)
touru<- cbind(diqu[1:4],Score)
touru<- touru[order(-Score),]
touru
以上代码中,使用了函数scale()将变量标准化,即把每项投入都用单位标准差进行表示。所谓数据的标准化是指中心化之后的数据在除以数据集的标准差,即数据集中的各项数据减去数据集的均值再除以数据集的标准差。数据中心化和标准化的意义是一样的,都是为了消除量纲对数据结构的影响。数据中心化调用了参数center,数据标准化调用了参数scale,也就是说center表示一列数据的均值,scale则表示标准差。
然后调用了函数apply()对各行的数据求均值,以此作为各个地区对运输业投入情况的得分。程序运行后每个地区的排名及相应的得分如下所示:
1
14
3
8
15
13
5
16
4
12
17
2
7
10
9
11
6
18