Результаты Theil.wtd не совпадают в цикле, как вручную - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь запустить цикл for для взвешенного индекса Theil theil.wtd, но по какой-то причине результаты, которые я получаю, когда запускаю индекс для каждого года вручную, не равны тем, которые я получаю из цикла.

Это мой код для цикла:

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 и того жедля ВВП это не должно иметь значения (на самом деле я уже пробовал это и получил те же результаты).

Поиск «theil», «theil.wtd», «theil index» и «ineq» мне не очень помог.

Кто-нибудь знает, в чем может быть ошибка?

Большое спасибо заранее!

...