我无法调试此错误。我只是在小插图中使用相同的命令进行简单的分组。
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。但它似乎无论如何都不是罪魁祸首。