我想在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
我想设置&#39; gr&#39;到集团层面。有没有办法访问组级别,以便最终do
可以是:
do(mutate(., gr = gr_level))
(以上只是用例的一个例子。问题是如何访问组级别,而不是如何解决上面的小问题。)
答案 0 :(得分:-2)
我们可以通过将NA
创建中的x$gr
更改为row
来略微更改功能
add_a_row <- function(x) {
row <- data_frame(gr = x$gr, value = NA)
if (runif(1) < 0.5) {
rbind(x, row)
} else {
rbind(row, x)
}
}
some_df %>%
group_by(gr) %>%
do(add_a_row(.))
# gr value
# <chr> <dbl>
#1 A NA
#2 A 3
#3 B NA
#4 B 4
-