0

我无法调试此错误。我只是在小插图中使用相同的命令进行简单的分组。

our_summary1 <-
  list("Miles Per Gallon" =
       list("min"       = ~ min(mpg),
            "max"       = ~ max(mpg),
            "mean (sd)" = ~ qwraps2::mean_sd(mpg)),
       "Displacement" =
       list("min"       = ~ min(disp),
            "median"    = ~ median(disp),
            "max"       = ~ max(disp),
            "mean (sd)" = ~ qwraps2::mean_sd(disp)),
       "Weight (1000 lbs)" =
       list("min"       = ~ min(wt),
            "max"       = ~ max(wt),
            "mean (sd)" = ~ qwraps2::mean_sd(wt)),
       "Forward Gears" =
       list("Three" = ~ qwraps2::n_perc0(gear == 3),
            "Four"  = ~ qwraps2::n_perc0(gear == 4),
            "Five"  = ~ qwraps2::n_perc0(gear == 5))
       )
by_cyl <- summary_table(dplyr::group_by(mtcars2, cyl_factor), our_summary1)

但是,我收到此消息

> Error in cbind(deparse.level, ...) : Not all row groups are identical.

与此等效的命令在我的数据上运行良好,对我来说看起来很正常。

summary_table(dplyr::group_by(mtcars2, cyl_factor)

但我真的不知道这个错误是什么意思。

编辑

请注意,此处关于 mtcars 的示例来自小插图,并且 100% 有效。我只是不知道 qwrap2 这个错误是什么意思。我似乎对他们拥有的分组数据有一定的标准。

编辑2

当组的大小不匹配时,似乎会发生这种情况。这是一个可重现的例子。

summary1 <-
  list("Time-To-event" =
       list("min"       = ~ min(x),
            "max"       = ~ max(x),
            "mean (sd)" = ~ qwraps2::mean_sd(x, na_rm =F )),
       "Case Status" =
       list("Dead" = ~ qwraps2::n_perc0(y == 1),
            "Alive/Lost-to-follow"  = ~ qwraps2::n_perc0(y == 0)
            )
       )

dat <-  data.frame(x =c(1:10, rep(NA, 10)) ,y =rep(c(0,1), 10) ,group = c(rep("A", 3), rep("B", 17)))
dat <- dplyr::group_by(dat, group)

by_cyl <- summary_table(dat, summary1)
by_cyl

请注意,我设置了 na_rm = FALSE(默认),因为我通常会将其设置为 TRUE。但它似乎无论如何都不是罪魁祸首。

4

0 回答 0