R语言聚类分析(系统聚类、K-均值聚类)

  • 原始数据

选自巨潮网

下表为2018年34家上市公司的利润表,选取其中营业收入、营业成本、销售费用、营业利润、利润总额、净利润六个指标。(单位:千万)

序号

机构名称

营业收入

营业成本

销售费用

营业利润

利润总额

净利润

1

北京顺鑫

1207.44

724.96

122.38

106.28

105.94

72.81

2

深圳联得

66.36

43.64

4.21

9.15

9.45

8.53

3

深圳星源

58.35

30.19

2.89

12.40

24.89

20.27

4

安泰科技

505.41

416.36

13.17

-20.78

-31.45

-33.15

5

北京利尔

319.69

207.43

37.35

42.79

41.26

33.37

6

嘉事堂

1795.99

1612.23

62.86

77.72

77.49

57.06

7

朗姿

266.15

111.92

95.65

23.95

22.75

20.43

8

北京三夫

42.03

24.02

10.44

0.66

0.65

0.47

9

舒泰神

80.61

7.48

48.34

14.97

15.10

13.41

10

华润双鹤

822.51

301.44

319.38

118.93

118.41

98.95

11

有研

476.79

445.72

5.31

9.27

10.00

8.25

12

用友

770.35

231.48

164.88

94.31

95.03

81.02

13

江河创建

1603.73

1307.75

17.98

86.59

86.86

73.86

14

北京昭衍

40.88

19.21

0.66

12.60

12.79

10.82

15

飞亚达

340.05

199.38

85.70

23.04

23.12

18.38

16

河北建投能源

1397.63

1172.12

6.15

88.70

88.22

66.16

17

天津天保基建

228.97

96.97

1.88

25.20

25.37

9.70

18

中体产业

144.99

110.10

5.67

13.76

13.79

9.15

19

天津环球磁卡

14.53

11.72

0.33

7.29

7.18

7.18

20

新奥生态

1363.25

1069.69

18.91

162.68

162.12

140.57

21

曙光信息

905.69

739.90

38.46

53.19

53.71

46.75

22

中航善达

665.56

534.84

11.10

121.98

122.53

82.40

23

天马微电子

2891.15

2451.97

48.07

98.35

101.92

98.39

24

华润三九

1342.77

416.04

646.86

170.35

171.89

147.49

25

深圳顺络

236.20

154.38

6.78

49.80

55.48

48.30

26

广东威华

252.37

217.38

7.23

15.17

15.81

15.34

27

深圳通产丽星

136.92

105.76

6.46

10.08

9.80

9.12

28

深圳信立泰

465.19

94.37

134.56

172.00

170.62

145.46

29

深圳英威腾电气

222.81

139.79

23.46

21.53

21.00

17.79

30

顺丰

9094.27

7464.22

182.58

581.81

586.75

446.43

31

天虹商场

1913.80

1392.19

362.69

116.29

116.88

90.46

32

深圳同兴达科技

409.54

375.23

3.75

8.85

11.36

9.81

33

深南电路

760.21

584.38

15.70

78.39

77.75

69.83

34

方大集团

304.87

233.79

4.98

297.00

296.98

224.62

二、使用R语言进行聚类分析

1)系统聚类法(分成四类)

mydata<-read.table("D:\\信息\\数据.txt")

distance<-dist(mydata)#计算距离

hc1<-hclust(distance,"ward.D2")#使用离差平方和法,默认最长距离法

plclust(hc1,hang=0.1)#绘画系谱图

re1<-rect.hclust(hc1,k=4,border="red")#k表示分为几类

re1

for(i in 1:4){

print(paste("第",i,"类"))

print(mydata[re1[[i]],])

}

R语言聚类分析(系统聚类、K-均值聚类)

R语言聚类分析(系统聚类、K-均值聚类)

R语言聚类分析(系统聚类、K-均值聚类)

可以看出第30家公司自成一类,第6、13、16、20、23、31家公司为一类,第2、3、5、7、8、9、14、15、17、18、19、25、26、27、29家公司为一类,第1、4、10、11、12、21、22、24、28、32、33、34家公司为一类,第一类公司利润最高,第三类公司利润最低。

2K-均值聚类(分成四类)

 plot(mydata)

 kc4<-kmeans(mydata,centers=4,nstart=1,trace=TRUE)#centers表示分成几类

 kc4

指标变量间两两相关关系的散点图:

R语言聚类分析(系统聚类、K-均值聚类)

研究对象归为四类的结果:

R语言聚类分析(系统聚类、K-均值聚类)

由Clustering vector可知34家公司的分类情况:第2、3、4、5、7、8、9、11、14、15、17、18、19、25、26、27、28、29、32、34为一类,第6、13、23、31为一类,第30家为一类,第1、10、12、16、20、21、22、24、33为一类。第三类公司利润最高,第二类公司利润最低。与系统聚类的分类结果虽不太相同,但两种聚类结果中第30家都是自成一类。