Como adicionar uma linha total a um quadro de dados em r


Você pode usar os seguintes métodos para adicionar uma linha “total” na parte inferior de um quadro de dados em R:

Método 1: Use Base R

 rbind(df, data. frame (team=' Total ', t(colSums(df[, -1]))))

Método 2: use dplyr

 library (dplyr)

df %>%
  bind_rows(summarize(., across(where(is.numeric), sum),
                         across(where(is.character), ~' Total ')))

O exemplo a seguir mostra como usar cada método na prática com o seguinte quadro de dados:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F'),
                 assists=c(5, 7, 7, 9, 12, 9),
                 rebounds=c(11, 8, 10, 6, 6, 5),
                 blocks=c(6, 6, 3, 2, 7, 9))

#view data frame
df

  team assists rebound blocks
1 to 5 11 6
2 B 7 8 6
3 C 7 10 3
4 D 9 6 2
5 E 12 6 7
6 F 9 5 9

Exemplo 1: Adicione uma linha total usando base R

Podemos usar as funções rbind e colSums da base R para adicionar uma linha total na parte inferior do quadro de dados:

 #add total row to data frame
df_new <- rbind(df, data. frame (team=' Total ', t(colSums(df[, -1]))))

#view new data frame
df_new

   team assists rebound blocks
1 to 5 11 6
2 B 7 8 6
3 C 7 10 3
4 D 9 6 2
5 E 12 6 7
6 F 9 5 9
7 Total 49 46 33

Observe que uma linha foi adicionada na parte inferior do quadro de dados que exibe a soma dos valores em cada coluna.

Exemplo 2: Adicione uma linha total usando dplyr

O código a seguir mostra como usar as funções do pacote dplyr em R para adicionar uma linha total à parte inferior do quadro de dados:

 library (dplyr)

#add total row to data frame
df_new <- df %>%
            bind_rows(summarize(., across(where(is.numeric), sum),
                                   across(where(is.character), ~' Total ')))

#view new data frame
df_new

   team assists rebound blocks
1 to 5 11 6
2 B 7 8 6
3 C 7 10 3
4 D 9 6 2
5 E 12 6 7
6 F 9 5 9
7 Total 49 46 33

Observe que uma linha foi adicionada na parte inferior do quadro de dados que exibe a soma dos valores em cada coluna.

Observe também que este método produz os mesmos resultados que o método R base.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como usar o rbind em R
Como deletar linhas em R
Como calcular a diferença entre linhas em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *