我正在使用 R 库中的函数survey,并且根据Stackoverflow 上的这个示例,我使用bquote()andas.name()动态构造用于指定变量的公式。
这适用于svytable(),但不适用于svychisq()。例如:
library(survey)
data(api)
dstrat<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc)
colvar <- 'sch.wide'
rowvar <- 'awards'
svytable(bquote(~.(as.name(rowvar)) + .(as.name(colvar)) ), dstrat)
sch.wide
awards No Yes
No 1065.69 1170.74
Yes 0.00 3957.57
svychisq(bquote(~.(as.name(rowvar)) + .(as.name(colvar)) ), dstrat)
terms.default(formula) 中的错误:没有术语组件或属性
我可以使这个动态变量规范更健壮,以便svychisq()选择正确的术语吗?