maxdea如何计算指数_【R语言】泰尔指数及其分解

4014aa46353f1562c72ed44c50820596.png
张敬信:【数学建模】泰尔指数及分解的计算方法与Matlab实现​zhuanlan.zhihu.com

之前写过用 Matlab 实现泰尔指数及其分解,再补充一个 R 语言实现(代码更加的简洁),同时做了改进,之前的函数说实话很难使用:指标数据和分组数据是分开的,而且还得注意顺序不能乱。

只实现上篇文章中的 TbTw() 函数(另两个完全多余),算法原理步骤看上面这篇文章就行,不再赘述。

定义泰尔指数及其分解的函数:

Theil_Index <- function (dat) {
    
  # 计算泰尔指数及其分解
  # 返回Tb为组间差距, Tw为组内差距, z为各个组内差距, 
  # 返回T为泰尔指数, Db为组间贡献率, Dw为各个组内贡献率
  # 泰尔指数T=Tb+Tw
  # dat包含指标列x和分组列Group
  
  dat$Group = as.factor(dat$Group)
  dat$xp = dat$x / sum(dat$x)       # 计算每个个体收入占总收入的比例
  
  grps = split(dat$xp, dat$Group)   # 对数据做分组
  
  n = nrow(dat)
  n
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值