耦合协调度模型(coupling coordination degree model) 是社会科学研究中探索区域整体均衡发展程度的一个常用模型,本文主要以R语言为例,展示两个子系统耦合协调度模型的计算过程,公式主要参考王淑佳等(2021)在自然资源学报发表的 《国内耦合协调度模型的误区及修正》 一文。
1、公式
协调发展度D的计算公式 :
其中T为:
C为:
2、R语言计算
以34个地区某2个子系统(U1、U2)的数值为例,展示耦合协调度模型的计算过程。依次计算C值、T值与D值:
setwd("C:/Users/Acer/Desktop")
install.packages("dplyr")
library(dplyr)
data <- readxl::read_xlsx("demodata.xlsx")
head(data)
# No. U1 U2
# <chr> <dbl> <dbl>
#1 province1 0.914 0.101
#2 province2 0.431 0.668
#3 province3 0.711 0.591
#4 province4 0.325 0.446
#5 province5 0.223 0.265
#6 province6 0.726 0.0450
summary(data[2:3])
data_norm <- data[2:3] #选择要计算的列
value_C <- apply(data_norm, MARGIN = 1, function(x) (2*sqrt(prod(x)))/sum(x)) #计算C
value_T <- (data_norm[1]*0.5)+(data_norm[2]*0.5) #计算T,系统权重分别赋值为0.5和0.5
value_D <- data.frame(value_C, value_T) %>%
apply(MARGIN = 1, function(x) sqrt(prod(x))) %>% as.data.frame() #计算D
data_result <- cbind(data[1],value_C, value_T,value_D) #结果
names(data_result) <- c("地区","C值","T值", "D值")
head(data_result) #查看结果
# 地区 C值 T值 D值
#1 province1 0.5982855 0.5075782 0.5510686
#2 province2 0.9765256 0.5493756 0.7324475
#3 province3 0.9957642 0.6510684 0.8051774
#4 province4 0.9876497 0.3852780 0.6168628
#5 province5 0.9962482 0.2441027 0.4931398
#6 province6 0.4687122 0.3856642 0.4251653
write.csv(data_result, file = "data_result.csv", row.names = FALSE) #写出
3、其他
详细公式推导过程可参考上文提到的文章。在运用耦合协调度模型前,往往以熵值法为基础对系统指标进行计算,确定指标权重,计算子系统综合得分,然后再进行耦合协调分析。后续将继续更新如何用R语言计算熵值法等确定相关指标权重方法。本文演示数据可后台回复20220331获得。
如有帮助请多多点赞哦!
文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




其中T为:
C为:
