暂无图片
暂无图片
暂无图片
暂无图片
14
暂无图片

R语言数据分析|耦合协调度模型

11083
点击关注了解更多哦

耦合协调度模型(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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

July_sun
暂无图片
9月前
评论
暂无图片 0
20220331
9月前
暂无图片 点赞
评论
July_sun
暂无图片
10月前
评论
暂无图片 0
20220331
10月前
暂无图片 点赞
评论
手机用户0028
暂无图片
1年前
评论
暂无图片 0
20220331
1年前
暂无图片 点赞
评论
社保梁陞
暂无图片
1年前
评论
暂无图片 0
20220331
1年前
暂无图片 点赞
评论
哈哈
暂无图片
1年前
评论
暂无图片 0
20220331
1年前
暂无图片 点赞
评论
涂涂小兔
暂无图片
1年前
评论
暂无图片 0
20220331
1年前
暂无图片 点赞
评论
查看更多 >