使用emmip_ggplot遇S4类$运算符错误,emmip可正常绘图求解决
解决emmip_ggplot报错“$ operator not defined for this S4 class”的问题
你遇到的问题核心是emmip_ggplot无法直接处理emmeans()返回的S4类型emmGrid对象,而原生emmip()是emmeans包自带函数,天然适配该对象类型。
解决方案
- 将
emmGrid对象转换为数据框格式emmeans()返回的结果可通过as.data.frame()直接转为标准数据框,转换后会自动包含均值(emmean)、置信区间上下限(lower.CL/upper.CL)等绘图所需列:
n.emms <- emmeans(neuralgia.glm, ~ Treatment) n.emms_df <- as.data.frame(n.emms)
- 使用转换后的数据框调用
emmip_ggplot
基于数据框重新调用函数,根据函数要求指定必要参数(比如x轴分组、y轴均值、置信区间范围):
emmip_ggplot(n.emms_df, style = "factor", x = "Treatment", y = "emmean", ymin = "lower.CL", ymax = "upper.CL")
如果对emmip_ggplot的参数细节存疑,可通过?emmip_ggplot查看官方文档,确认数据输入格式和必填参数。
内容的提问来源于stack exchange,提问作者hnguyen
相关产品推荐
相关产品推荐

