R: NA 之前的 syvy 让 0

R: svyby print NA as 0

我对 svyby 函数有问题,因为在结果中我想打印所有值,但是 svyby 自动删除了所有 NA。

result <- svyby(formula = pop, by=~col1+col2, FUN=svytotal, design = mydesign, na.rm.all = TRUE)

即使是0,如何打印所有值?

更新:

我通过添加参数 drop.empty.groups = FALSE

找到了解决方案

只是警告这不是很好的统计实践,但我假设您有格式化的理由:-)

library(survey)
data(api)
x <- apiclus1
x[1,'api99'] <- NA
dclus1<-svydesign(id=~dnum, weights=~pw, data=x, fpc=~fpc)
result <- svyby(~api99, ~stype, dclus1, svymean)
result
result[ is.na( result ) ] <- 0
result

跟进:svyby 不会 删除 NA,但它确实(默认情况下)删除没有观测值的组。您可以使用 drop.empty.groups=FALSE 来报告值(可能是 NA),即使对于没有观测值的组也是如此。