_Ssssssssssss_ 2023-06-08 23:45 采纳率: 0%
浏览 370

关于#r语言#的问题:Error in check_errors(data = data, est = est, lower = lower, upper = upper, :

绘制多组森林图报错

Error in check_errors(data = data, est = est, lower = lower, upper = upper,  : 
  All the elements in estimate, lower and upper should have the same length
In addition: Warning messages:
1: Unknown or uninitialised column: `Up_1`. 
2: Unknown or uninitialised column: `Up_2`. 

我的代码

sub_total<-read_xlsx("../AHF-analysis-sfw/sub/sub_total.xlsx")
subgps <- c(2,3,5,6,8,9,11,12,14,15,17,18,20,21,23,24,26,27,29,30)# 指定要缩进的亚组,此处向量中的数字表示亚组的行数
sub_total$Group[subgps] <- paste("    ",sub_total$Group[subgps])  

# 将 NA 转为空白或转换为对应字符
sub_total$n1 <- ifelse(is.na(sub_total$asthma), " ", sub_total$asthma)
sub_total$n2 <- ifelse(is.na(sub_total$non_asthma), " ", sub_total$non_asthma)
# 为 CI 添加空白列
sub_total$`total` <- paste(rep(" ", 30), collapse = " ")
sub_total$`industrial` <- paste(rep(" ", 30), collapse = " ")
sub_total$`traffic` <- paste(rep(" ", 30), collapse = " ")
sub_total$`building` <- paste(rep(" ", 30), collapse = " ")
sub_total$`body` <- paste(rep(" ", 30), collapse = " ")
# 设置主题
tm <- forest_theme(base_size = 10,
                   refline_lty = "solid",
                   ci_pch = c(15, 18),
                   ci_col = c("#377eb8", "#4daf4a"),
                   footnote_col = "blue",
                   legend_name = "Group",
                   legend_value = c("Trt 1", "Trt 2"),
                   vertline_lty = c("dashed", "dotted"),
                   vertline_col = c("#d6604d", "#bababa"))
p <- forest(sub_total[,c(1, 29, 30, 31, 32, 33, 34, 35)],
            est = list(sub_total$`OR_t`,
                       sub_total$`OR_1`,
                       sub_total$`OR_2`,
                       sub_total$`OR_3`,
                       sub_total$`OR_4`),
            lower = list(sub_total$Low_t,
                         sub_total$Low_1,
                         sub_total$Low_2,
                         sub_total$Low_3,
                         sub_total$Low_4), 
            upper = list(sub_total$Up_t,
                         sub_total$Up_1,
                         sub_total$Up_2,
                         sub_total$Up_3,
                         sub_total$Up_4),
            ci_column = c(4, 5, 6, 7, 8),
            ref_line = 1,
            vert_line = c(0.5, 2),
            nudge_y = 0.2,
            theme = tm)
plot(p)

问题出在哪里呢 求解(大哭)

  • 写回答

3条回答 默认 最新

  • 卑微的Coder 2023-06-09 08:09
    关注

    你的代码中包含了一些列名,如Up_1, Up_2等,但这些列名在你的数据中并不存在,因此会出现未初始化列的警告。

    关于报错,错误信息表明estimate,lower和upper在长度上不一致。请检查一下你的数据,这三列应该具有同样的行数。如果这些列没有同一行数,那么在绘制图形时就会出现错误。

    此外,在绘制森林图时,你需要确保指定的列存在并且已正确命名。检查一下你的代码中引用的列名是否正确。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月8日

悬赏问题

  • ¥18 help me! 希望大家来看看 吉~
  • ¥15 C++显示超限兔子集结
  • ¥15 sql server 2012的下载出错
  • ¥15 图像识别用户软件开发
  • ¥20 类原生rom lineageos
  • ¥15 有没有会做中专,云计算,卷子的,有偿一百块
  • ¥15 HC32串口DMA循环发送数据
  • ¥15 Uni-App实现飞书授权登陆
  • ¥50 Qt应用中如何通过代码打开开发者工具devtools
  • ¥20 mpp硬解码h264转为yuv