Я хотел бы получить групповые уровни сгруппированного объекта в dplyr
. Это, конечно, равно сгруппированной переменной (с) сразу после группировки. Сгруппированные переменные не могут быть изменены, но их можно развернуть. Возьмем следующий пример:Уровни группы доступа в 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))
(Выше всего лишь пример случая использования для ясности Вопрос в том, как получить доступ к уровням группы, а не как решить. небольшая проблема выше).
Не могли бы вы показать ожидаемый результат? – akrun
Посмотрите на '? Group_indices'. Однако в вашем примере вы изменяете переменную группировки в NA, тем самым добавляя дополнительную группу. – konvas
Отлично, это то, что я искал, но не смог найти. Благодаря! – Edwin