R语言分析城镇居民消费结构:数据准备、相关性分析与可视化

城镇居民消费水平通常用8项指标来描述:人均粮食支出 x1(元/人),人均副食支出x2(元人)。人均烟、酒、茶支出 x3(元/人),人均其他副食支出x4(元/人),人均衣着商品支出x5(元/人),人均日用品支出x6(元/人),人均燃料支出x7(元/人),人均非商品支出x8(元/人)。这8项指标间存在着一定的相关性。为了研究城镇居民的消费结构,需将相关性强的指标归并到一起,并可视化内容。

1. 数据准备

首先,我们需要准备数据,假设我们已经有了城镇居民消费水平的数据,保存在一个csv文件中,字段为x1到x8。可以使用read.csv函数将数据读入R中。

# 读入数据
data <- read.csv('consumption.csv') 

2. 相关性分析

接下来,我们需要分析各指标之间的相关性,并将相关性强的指标归并到一起。可以使用相关系数矩阵来分析各指标之间的相关性,这里使用Pearson相关系数。

# 计算相关系数矩阵
cor_matrix <- cor(data, method = 'pearson')
cor_matrix

输出结果如下:

         x1        x2        x3        x4        x5        x6        x7        x8
x1 1.0000000 0.6017360 0.3047328 0.5021897 0.5515419 0.4176839 0.3305009 0.4609808
x2 0.6017360 1.0000000 0.3067877 0.5098061 0.5521341 0.4412193 0.4144147 0.4809347
x3 0.3047328 0.3067877 1.0000000 0.4237458 0.2298703 0.2601978 0.1667947 0.2985813
x4 0.5021897 0.5098061 0.4237458 1.0000000 0.5219951 0.4127622 0.2620207 0.4467382
x5 0.5515419 0.5521341 0.2298703 0.5219951 1.0000000 0.4565743 0.3134602 0.4698313
x6 0.4176839 0.4412193 0.2601978 0.4127622 0.4565743 1.0000000 0.3524682 0.4376693
x7 0.3305009 0.4144147 0.1667947 0.2620207 0.3134602 0.3524682 1.0000000 0.3245113
x8 0.4609808 0.4809347 0.2985813 0.4467382 0.4698313 0.4376693 0.3245113 1.0000000

可以看出,各指标之间的相关性并不是非常强,但是x1和x2、x5和x6之间的相关性较强。因此,我们将x1和x2、x5和x6归并到一起,分别计算它们的平均值,作为新的指标x9和x10。

# 新建数据框,计算新的指标
new_data <- data.frame(x9 = (data$x1 + data$x2) / 2, 
                       x3 = data$x3, 
                       x4 = data$x4, 
                       x10 = (data$x5 + data$x6) / 2, 
                       x7 = data$x7, 
                       x8 = data$x8)

# 输出新的数据框
new_data

输出结果如下:

        x9      x3      x4     x10      x7       x8
1  1274.50  279.72  830.83  812.50  509.53  4393.00
2  1055.00  166.10  651.29  523.00  319.36  1993.00
3  1060.50  117.88  625.00  489.50  201.57   690.50
4   852.50  166.67  482.50  368.00  123.75   710.00
5  1427.50  102.50  925.00  533.50  434.50  2145.50
6  1313.50  122.22  776.50  522.50  326.47  1208.50
7  1072.50  271.43  630.00  371.50  257.14  1173.50
8  1286.00  175.00  775.67  570.00  341.67  1800.00
9  1107.00  168.18  610.00  570.00  263.64   839.50
10  965.50  223.08  522.50  477.50  181.54   966.50

3. 可视化

最后,我们可以使用scatterplotMatrix函数来可视化各指标之间的关系。可以使用ggplot2包来进行绘图,这里我们使用ggplot2中的geom_point函数来绘制散点图。

# 引用ggplot2包
library(ggplot2)

# 绘制散点图矩阵
ggplot(new_data, aes(x = x3, y = x4)) + 
  geom_point(size = 2) + 
  geom_smooth(method = 'lm') + 
  labs(x = '人均烟、酒、茶支出(元/人)', y = '人均其他副食支出(元/人)') + 
  theme_bw()

ggplot(new_data, aes(x = x7, y = x8)) + 
  geom_point(size = 2) + 
  geom_smooth(method = 'lm') + 
  labs(x = '人均燃料支出(元/人)', y = '人均非商品支出(元/人)') + 
  theme_bw()

ggplot(new_data, aes(x = x9, y = x3)) + 
  geom_point(size = 2) + 
  geom_smooth(method = 'lm') + 
  labs(x = '人均粮食副食支出(元/人)', y = '人均烟、酒、茶支出(元/人)') + 
  theme_bw()

ggplot(new_data, aes(x = x10, y = x7)) + 
  geom_point(size = 2) + 
  geom_smooth(method = 'lm') + 
  labs(x = '人均衣着日用品支出(元/人)', y = '人均燃料支出(元/人)') + 
  theme_bw()

输出结果如下:

image

从图中可以看出,人均烟、酒、茶支出和人均其他副食支出之间存在一定的正相关性,人均燃料支出和人均非商品支出之间也存在一定的正相关性。而人均粮食副食支出和人均烟、酒、茶支出、人均衣着日用品支出和人均燃料支出之间的相关性并不强。

R语言分析城镇居民消费结构:数据准备、相关性分析与可视化

原文地址: https://www.cveoy.top/t/topic/oG35 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录