数据和思路来源于 大数据学习群高立信同学的文章,我觉得比较有意思,探讨一下。
R下“Hello World级”数据分析--由“医院病床数”可以预测社会经济水平嘛?
首先从高同学处要来了他整理过的深圳2003-2013年部分统计指标的excel表,然后输入R程序。
library(openxlsx)
readFilePath<-"E:/shenzhen.xlsx"
mydata<-read.xlsx(readFilePath,"Sheet1")
表格中包括出生人数,人均年收入,小学生入学数,医院病床数,总人口,以及出生率。因为出生率已经与出生人数和总人数相关,所以在后面的分析中这列没有考虑进去。
数据表:
以前根据类似数据,写过一篇利用R语言做菜鸟级表格分析,还是继续用pair函数比较各个因素间的关系:
pairs(mydata[,2:6]);plot
得图如下,可以看出,初步呈线性相关的是:收入,医院,小学生数,人口之间的几个关联。
类似的图还可以用car包里的scatterplotMatrix做出来,不过那个不能挑选列,所以是7x7的图形,我个人觉得还不如pairs清楚。
因为高同学的问题是病床数是否可以预测经济增长,那首先就要求出:与病床数相关的因素。这点我利用了car包的crPlots函数(R语言实战,P179)
fit<-lm(hospital~income+population+student+birth,data=mydata)
crPlots(fit)
以病床数为响应变量,其他几个因素为预测变量,进行分析。可以看出,病床数与收入没有线性回归关系,与人口,小学生数,出生数存在关系。
那么个人的答案是:病床数与经济预测没有关联。
自设问题二,在影响病床数这几个因素中,哪个变量对预测更为重要?
根据《R语言实战》P195所述,可以采用coef函数检验
从计算看来,人口,学生数,出生人数这三个影响指数都是差不多的。
自设问题三,个人觉得出生,小学生数,人口数这几个因素本身就是有相关性的,是否确实如此?
这里我用多重共线性进行检验(P181)(后面还做了个离群值outlier检验,一起附图)
根据原则,vif的开方>2就表明存在多重共线性,所以这儿是存在的。但是与前面的多元回归结果有什么影响,本小白就搞不清楚了。需要继续学习研究。也欢迎大神解惑。
日后加上深圳房价,再做比较。