You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言survey包svyboxplot分组绘图与子集绘图结果不一致求助

问题根源

svyboxplot函数默认separate = FALSE,此时会基于全数据集的加权分位数作为箱线图的分位切割标准,再统计每个分组落在各全局分位区间的样本占比,因此输出的各分组箱线图形态高度相似,不符合分组独立统计的预期。
单独筛选子集绘图时,每个子集独立计算分位数,因此结果符合实际数据特征。

解决方法

调用分组绘图的svyboxplot时添加separate = TRUE参数,即可让每个分组独立计算自身的加权分位数,输出和单独绘制子集一致的结果。

修正后代码如下:

library(tidyverse)
library(survey)

col <- tibble(
name = c("seura 1", "seura 2", "seura 3", "seura 4", "seura 5", "seura 6", "seura 7", "seura 8", "seura 9", "seura 10", "seura 11", "seura 12"),
riistakeskus = c("Keski-Suomi","Keski-Suomi","Keski-Suomi","Keski-Suomi","Keski-Suomi","Satakunta","Satakunta","Satakunta","Uusimaa", "Uusimaa","Uusimaa","Uusimaa"),
hirvi_sarvisuositus = c(1,4,5,3,7,5,3,4,6,5,8,9),
weights = c(1.1461438,1.1461438,1.1461438,1.1461438,1.1461438,0.5107815,0.5107815,0.5107815,2.0461937,2.0461937,2.0461937,2.0461937)
)

my_des1 <- svydesign(data = col, weights = ~weights, ids = ~1)
# 新增separate = TRUE参数
b <- svyboxplot(hirvi_sarvisuositus~factor(riistakeskus), my_des1, all.outliers = F, ylim = c(0,10), separate = TRUE)

内容的提问来源于stack exchange,提问作者Latu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 10:09:04