У меня вопрос о нумерации групп в data.frame.Нумерация групп в dplyr?
я нашел только один подобный подход здесь dplyr-how-to-number-label-data-table-by-group-number-from-group-by
, но оно не работает для меня. Я не знаю, почему.
S <- rep(letters[1:12],each=6)
R = sort(replicate(9, sample(5000:6000,4)))
df <- data.frame(R,S)
get_next_integer = function(){
i = 0
function(S){ i <<- i+1 }
}
get_integer = get_next_integer()
result <- df %>% group_by(S) %>% mutate(label = get_integer())
result
Source: local data frame [72 x 3]
Groups: S [12]
R S label
(int) (fctr) (dbl)
1 5058 a 1
2 5121 a 1
3 5129 a 1
4 5143 a 1
5 5202 a 1
6 5213 a 1
7 5239 b 1
8 5245 b 1
9 5269 b 1
10 5324 b 1
.. ... ... ...
Я ищу элегантное решение в dplyr
. Нумерация каждой буквы от 1 до 12 и т.д.
Есть ли причина для этого в 'dplyr'? 'df $ label <- as.numeric (factor (df $ S))' – hrbrmstr
@Frank, как 'df $ label <- group_indices (df, S)' бесполезно? – hrbrmstr
На самом деле, это не вся суть пакета. цепочка является приятным дополнительным компонентом, но вся точка pkg должна была обеспечить более стандартизованный и разумный способ обработки макетов данных. – hrbrmstr