【问题标题】:Proportion of poor贫困人口比例
【发布时间】:2016-12-21 00:50:26
【问题描述】:

我正在尝试使用调查包计算穷人的比例。 因此,我使用总人口(一)的变量创建了一个子集,并称为 n(我不确定这是否是正确的方法)。 所以,我有:

str(base2015$q)
 num [1:117939] 0 0 0 0 0 0 0 0 0 0 ...
str(base2015$one)
 int [1:117939] 1 1 1 1 1 1 1 1 1 1 ...

和一个分类变量区域。 (y 是我的 svydesign) 我尝试使用这样的 svyratio 函数,但他给了我所有数据集的结果,我想要按子组(区域)。事实上,我希望每个地区都有这个(见图) proportion of poor

svyratio(numerator=~q, 
         ~one, 
         design = y, separate=FALSE, na.rm=TRUE, 
         formula, covmat=FALSE, deff=FALSE)

我也尝试使用人口创建一个子集,然后使用 svyby:

n <- subset( y , one == 1 )
View(n)
svyby( ~ q , ~ region , n , vartype=c("se","ci","cv"), svytotal )
svyby( ~ q , ~ region , n , vartype=c("se","ci","cv"), svymean )
  region  q  se ci_l ci_u  cv
1      1 NA NaN  NaN  NaN NaN
2      2 NA NaN  NaN  NaN NaN
3      3 NA NaN  NaN  NaN NaN
4      4 NA NaN  NaN  NaN NaN
5      5 NA NaN  NaN  NaN NaN

他给了我这个。我不知道我做错了什么。 有人可以帮我解决这个问题吗?

【问题讨论】:

  • NA/NaN 值很可能是数据中缺失值的结果。要确认这一点,您可以使用nonMissDF = na.omit(DF) 排除丢失的数据并再次尝试您的功能。如果确认您面临缺失数据,我建议探索调查分析中缺失数据的插补方法
  • 谢谢@Osssan。新的 nonMissDF 运行良好。而且我不能对缺失数据进行插补,因为巴西地理和统计研究所 (ibge) 已经做到了。所以我想我不能。还是谢谢

标签: r survey


【解决方案1】:
data(scd)

scddes<-svydesign(data=scd, prob=~1, id=~ambulance, strata=~ESA,nest=TRUE, fpc=rep(5,6))

svyby( ~ alive , denominator = ~ arrests , by = ~ ambulance , scddes , svyratio )

# which missings do you want to remove?  read `?svyby`
svyby( ~ alive , denominator = ~ arrests , by = ~ ambulance , scddes , svyratio , na.rm = TRUE , na.rm.by = TRUE , na.rm.all = TRUE )

【讨论】:

  • 谢谢@Anthony Damico 帮我很多忙
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-21
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多