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

Sjplot绘制按第三变量分组的频数图时报错求助

在sjPlot中实现分组频数柱状图

可以用sjPlot包的plot_grpfrq()函数直接实现按第三变量分组的频数柱状图,你之前的代码报错是因为错误地使用了group_by()结合sjplot()的调用方式,sjPlot有专门的分组频数绘图函数。

正确实现代码

library(sjPlot) 
library(sjmisc)
library(tidyverse)

data(efc)
# 绘制按性别(e16sex)拆分的e42dep频数并列柱状图
plot_grpfrq(
  data = efc,
  var = e42dep,          # 主分析变量(对应x轴)
  grp = e16sex,          # 用于拆分柱子的第三变量(性别)
  type = "bar",          # 生成并列柱状图,改为"stack"可生成堆叠柱状图
  show.values = TRUE,    # 在柱子上显示具体频数数值
  title = "按性别拆分的依赖程度频数分布"
)

关键参数说明

  • var:指定需要分析频数的核心变量,对应柱状图的x轴
  • grp:指定用于分组拆分的变量(即你提到的第三变量)
  • type:控制柱状图展示形式,"bar"为并列分组柱,"stack"为堆叠分组柱
  • show.values:设置为TRUE可在柱子上标注具体频数,提升数据可读性

如果需要结合更多变量做分面展示,可添加facet.grid参数,比如按c172code(护理者类型)分面:

plot_grpfrq(
  data = efc,
  var = e42dep,
  grp = e16sex,
  type = "bar",
  show.values = TRUE,
  facet.grid = c172code  # 按护理者类型分面展示
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 12:12:32