Theil.wtd结果与手动循环不同

时间:2018-12-29 16:38:28

标签: loops for-loop inequality

我正在尝试为加权Theil索引theil.wtd运行一个for循环,但是由于某些原因,我每年手动运行该索引时得到的结果与从循环中获得的结果不相等。

这是我的循环代码:

Th <- expand.grid("Jahr" = c(2003:2015), 
                  Theil = NA) 

for(row.i in 1:nrow(Th)){

  data.temp1 <- subset(df_Pop1[row.i]) #df_Pop1 is a df of 13 observations (years 2003:2015) and 1732 variables(NUTS3 regions) 
  data.temp2 <- subset(df_GDP1[row.i]) #same as df_Pop1 with values for GDP

  Theil.i <- theil.wtd(data.temp1, weights = data.temp2)
  Th$Theil[row.i] <- Theil.i
}

这就是我得到的:

> Th
   Jahr       Theil
1  2003 0.000139943
2  2004 0.000305058
3  2005 0.000103980
4  2006 0.000120476
5  2007 0.000629088
6  2008 0.000011569
7  2009 0.000003321
8  2010 0.000028351
9  2011 0.000101787
10 2012 0.000059489
11 2013 0.000065403
12 2014 0.000211942
13 2015 0.000176955

手动做同样的事情。

theil.wtd(df_Pop_1$`2003`, weights = df_GDP_1$`2003`) #df_Pop_1 is df of 1732 obs. (NUTS 3 regions) and 13 variables (years 2003:2015)

..这是结果:

[1] 1.22911

我知道以下事实:我没有在两个计算中使用完全相同的df,但由于df_Pop1只是df_Pop_1的换位而GDP df的换位也没关系(事实上,我已经尝试过了得到了相同的结果)。

搜索“ theil”,“ theil.wtd”,“ theil索引”和“ ineq”并没有真正帮助我。

有人知道什么可能是错误吗?

非常感谢您!

0 个答案:

没有答案