我需要你的幫助來解釋我如何可以獲得與此功能相同的結果: gini(x,weights = rep(1,length = length(x)) ) http://cran.r-project.org/web/packages/reldist/reldist.pdf - >第2頁。基尼什麼是公式計算基尼與樣品重量
比方說,我們需要測量人口N的接種量。爲此,我們可以將人口N分成K個子羣。在每個小組中,我們會拿nk個人並要求他們的收入。結果,我們將得到「個人的收入」,每個人將有特定的「樣本權重」來表示他們對人口N的貢獻。下面是我從前面的鏈接中獲得的例子,數據集來自NLS
rm(list=ls())
cat("\014")
library(reldist)
data(nls);data
help(nls)
# Convert the wage growth from (log. dollar) to (dollar)
y <- exp(recent$chpermwage);y
# Compute the unweighted estimate
gini_y <- gini(y)
# Compute the weighted estimate
gini_yw <- gini(y,w=recent$wgt)
> --- Here is the result----
> gini_y = 0.3418394
> gini_yw = 0.3483615
我知道如何通過我自己的代碼來計算沒有WEIGHTS的基尼。因此,我想在我的代碼中保留命令gini(y),毫無疑問。我唯一擔心的是gini(y,w)的運行方式是獲得0.3483615的結果。我試圖按照下面的方法做另一個計算,看看我是否可以得到與gini_yw相同的結果。下面是我基於CDF,第9.5節另一個代碼,這本書的:「」由Mark S. Handcock「社會科學中的相對 分配辦法」,
#-------------------------
# test how gini computes with the sample weights
z <- exp(recent$chpermwage) * recent$wgt
gini_z <- gini(z)
# Result gini_z = 0.3924161
正如你看到的,我的計算gini_z是與命令gini(y,權重)不同。如果您的某個人知道如何構建正確的計算以獲得準確的 gini_yw = 0.3483615,請告訴我您的建議。
非常感謝朋友。
你可以看看'gini'的代碼來看看它在做什麼 –
嗨尼爾,是否有可能在包中查看代碼gini? –