使用R进行因子分析:基于世界卫生组织数据的健康指标研究

本研究使用来自世界卫生组织的185个国家29个健康指标数据,通过因子分析方法提取关键健康维度,并进行因子旋转、命名,最终计算因子得分并对样本进行排序,旨在深入探讨健康指标之间的关系,为公共卫生决策提供参考。

数据来源及变量说明

数据节选自世界卫生组织数据,由185个国家的29个变量组成。

| 变量名 | 含义 | |---|---| | 'PT' | 总人口(千人) | | 'PGR' | 人口增长率(%) | | 'PUP' | 城市人口比例(%) | | 'P60P' | 60岁以上人口比例(%) | | 'P15P' | 15岁以下人口比例(%) | | 'TFR' | 妇女怀孕率 | | 'IMR' | 一岁童MCV接种率(%) | | 'I3R' | 一岁童3次乙肝接种率(%) | | 'HER' | 卫生的外部资源占卫生总支出的百分比(%) | | 'HGR' | 一般政府卫生支出占卫生总支出的百分比(%) | | 'HGGR' | 一般政府卫生支出占政府总支出的百分比(%) | | 'NDP' | 人均牙医人数 | | 'NNMP' | 人均护士助产士人数 | | 'NPP' | 人均内科医生人数 | | 'NMP' | 每万人护士助产士人数 | | 'HPP' | 自付开支占私人健康支出的百分比(%) | | 'HPHP' | 私人健康支出占健康总支出的百分比(%) | | 'NMPP' | 护士助产士与内科医生的比例(%) | | 'HGDP' | 卫生总支出占国内生产总值的百分比(%) | | 'DR1' | 每10万人口癌症死亡数 | | 'DR2' | 每10万人口心血管死亡数 | | 'DR3' | 每10万人口因伤死亡数 | | 'DR4' | 每10万人口非传染病因死亡数 | | 'TBN' | 每10万人口结核病数 | | 'NMN' | 每千名新生儿死亡数 | | 'YCP' | 传染病损失年龄比例(%) | | 'YIP' | 受伤损失年龄比例(%) | | 'YNCP' | 非传染病损失年龄比例(%) |

数据分析方法

本研究使用R语言进行因子分析,分别采用主成分法、主因子法、最大似然法计算因子载荷矩阵和特殊因子方差矩阵,并对因子进行旋转,画出因子载荷图,尝试对因子命名。最后,计算因子得分并对样本进行排序,以深入理解各因子对不同国家的贡献程度。

代码实现

#导入数据
data <- read.csv('who1.csv')

#去除第一个变量country
data <- data[,-1]

#主成分法
library(psych)
pc1 <- principal(data, nfactors = 7, rotate = 'varimax', scores = TRUE)
print(pc1)

#主因子法
pc2 <- fa(data, nfactors = 7, rotate = 'varimax')
print(pc2)

#最大似然法
pc3 <- factanal(data, factors = 7, rotation = 'varimax')
print(pc3)

#画因子载荷图
library(GPArotation)
loadings <- rotate(pc2$loadings, 'varimax')
plot(loadings, type = 'n')
text(loadings, labels = rownames(loadings), cex = 0.8)

#对因子命名
names <- c('Health Resources', 'Health Expenditure', 'Demographic', 'Medical Personnel', 'Disease Burden', 'Infectious Diseases', 'Non-Communicable Diseases')
colnames(pc2$loadings) <- names
print(pc2$loadings)

#计算因子得分
factor_scores <- as.data.frame(predict(pc2, newdata = data))
colnames(factor_scores) <- names
print(factor_scores)

#对样品进行排序
rank <- apply(factor_scores, 1, function(x) rank(x, ties.method = 'min'))
rank <- as.data.frame(rank)
colnames(rank) <- names
print(rank)

结论与讨论

本研究通过因子分析方法,提取了健康指标中的关键维度,并对因子进行了命名和排序。结果显示,不同国家在健康指标方面存在显著差异,研究结果可为公共卫生决策提供参考。未来可进一步研究不同健康维度对国家经济发展、人口结构、生活方式等因素的影响,以及不同健康维度之间的相互关系。

使用R进行因子分析:基于世界卫生组织数据的健康指标研究

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

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