【发布时间】:2017-01-22 09:22:26
【问题描述】:
我想在dplyr 中获取分组对象的组级别。这当然等于分组后的分组变量。
分组变量不能修改,但可以扩展。举个例子:
some_df <- data_frame(gr = LETTERS[1:2],
value = c(3,4))
add_a_row <- function(x) {
row <- data_frame(gr = NA, value = NA)
if (runif(1) < 0.5) {
rbind(x, row)
} else {
rbind(row, x)
}
}
some_df %>% group_by(gr) %>%
do(add_a_row(.)) %>%
do( )
因此,每个组都会添加一个空行,作为第一行或最后一行。在最后的do 中,我想将“gr”设置为其组级别。有没有办法访问组级别,所以最终的do 可以是:
do(mutate(., gr = gr_level))
(为了清楚起见,上面只是一个用例的例子。问题是如何访问组级别,而不是如何解决上面的小问题)。
【问题讨论】:
-
你能显示预期的输出吗?
-
看看
?group_indices。但是,在您的示例中,您将分组变量修改为 NA,从而添加了一个额外的组。 -
完美,这正是我一直在寻找的,但找不到。谢谢!