Neste artigo, discutiremos como numerar linhas dentro do grupo do dataframe na linguagem de programação R

Método 1: Usando a função ave()

Chame a função ave(), que é uma função base da linguagem R, e passe os parâmetros necessários para esta função e este processo levará às linhas de numeração dentro do grupo do dado frame de dados na linguagem de programação R.

A função ave() é usada para subconjuntos de x [] serem calculados a média, onde cada subconjunto consiste naquelas observações com os mesmos níveis de fator.

Sintaxe:

ave (x, ..., FUN = média)



Parâmetros:

  • x: um numérico.
  • …: Variáveis ​​de agrupamento, normalmente fatores, todas do mesmo comprimento que x.
  • DIVERSÃO: Função a ser aplicada para cada combinação de nível de fator

Exemplo: numeração de linhas dentro de grupos

gfg<-data.frame(x=1:20,group=c(rep("g1", 8),
                               rep("g2", 5),
                               rep("g3",4),
                               rep("g4",3)))
  
gfg$numbering <- ave(gfg$x,gfg$group,FUN = seq_along)
  
gfg

Saída:

Método 2: usando a função mutate() do pacote dplyr

Nesta abordagem para numerar linhas dentro do grupo do dataframe usando a função ave, o usuário precisa instalar e importar o pacote dplyr no console R funcional, aqui este pacote é necessário para importar porque a função mutate() é a função presente em esta biblioteca particular, então o usuário precisa chamar a função mutate() com o parâmetro requerido passado a ela, para obter as linhas de numeração dentro do grupo do dado frame de dados na linguagem de programação R.

A função mutate() é usada para adicionar novas variáveis ​​e preservar as existentes; transmute elimina as variáveis ​​existentes.

Sintaxe:

mutate (.data, ...)

Parâmetros:

  • .data: A tbl. Todos os verbos principais são genéricos S3 e fornecem métodos para tbl_df, tbl_dt e tbl_sql.
  • …: Pares de expressões nome-valor. Use NULL para eliminar uma variável.

Exemplo: numeração de linhas dentro de grupos

library("dplyr")
  
gfg<-data.frame(x=1:20,group=c(rep("g1", 8),rep("g2", 5),
                               rep("g3",4),rep("g4",3)))
  
gfg <- gfg %>%                            
 group_by(group) %>%
 mutate(numbering = row_number())
  
gfg

Saída: