是否有一个现有的函数可以从一个svyby
对象的比例创建置信区间(在我的例子中是包中二进制项目的交叉表survey
)。svyciprop
我经常比较各组之间的比例,如果有一个可以提取置信区间的函数(使用调查函数而不是)会非常方便confint
。下面的示例显示了我想要实现的目标。
加载数据
library(survey)
library(weights)
data(api)
apiclus1$both<-dummify(apiclus1$both)[,1]#Create dummy variable
dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
创建一个 svyby 对象,它比较跨 stype 的变量“both”的比例
b<-svyby(~both, ~stype, dclus1, svymean)
confint(b)#This works, but svyciprop is best in other cases, especially when proportion is close to 0 or 1
svyciprop(b)#This requires that you specify each level and a design object
是否有可能创建一个函数(例如,它实现与但使用byCI(b,method="likelihood")
相同的功能?它基本上必须遍历对象的每个级别并创建一个置信区间。我的尝试到目前为止都没有成功。confint(b)
svyciprop
svyby
可能有另一种解决方法,但我喜欢使用svyby()
它,因为它既快速又直观。