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

R语言按性别绘制检测概率箱线图的实现方法咨询

问题解答

你当前的汇总逻辑存在问题:你使用group_by(sex) %>% summarise(dr = mean(observed))得到的drrate_sex数据集,每个性别仅对应1条总检测率记录,而箱线图的作用是展示一组数据的分布特征,单个数值无法生成箱线图。

正确实现步骤

第一步:调整数据汇总逻辑

你有多个日期的检测记录,要生成箱线图需要先按「性别+检测日期」分组计算每日检测率,让每个性别下对应多条不同日期的检测率数据:

drdata <- detectiondata %>% 
    group_by(sex, date) %>% 
    # 乘以100转换为百分比,匹配你y轴的标注要求
    summarise(dr = mean(observed)*100, .groups = "drop")

第二步:填写箱线图代码

你提问中?的位置填写上一步生成的检测率字段名dr即可:

boxplot(dr ~ sex, data=drdata, main="Detection by sex",
        xlab="Sex", ylab="Detection rate (%)", notch=T, par(mar=c(4,12,4,12)))

补充说明

如果你仅需要对比两个性别的总检测率,不需要展示分布,箱线图不是合适的可视化形式,推荐使用柱状图,对应代码如下:

# 计算总检测率
drrate_sex <- detectiondata %>% 
    group_by(sex) %>% 
    summarise(dr = mean(observed)*100)
# 绘制柱状图
barplot(dr ~ sex, data=drrate_sex, main="Total Detection by sex",
        xlab="Sex", ylab="Detection rate (%)")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:45:08