R のデータ フレームに合計行を追加する方法


次のメソッドを使用して、R のデータ フレームの下部に「合計」行を追加できます。

方法 1: Base R を使用する

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

方法 2: dplyr を使用する

 library (dplyr)

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

次の例は、次のデータ フレームで各メソッドを実際に使用する方法を示しています。

 #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

例 1: 基数 R を使用して合計行を追加する

R Base のrbind関数とcolSums関数を使用して、データ フレームの下部に合計行を追加できます。

 #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

データ フレームの下部に、各列の値の合計を表示する行が追加されていることに注意してください。

例 2: dplyr を使用して合計行を追加する

次のコードは、R でdplyrパッケージ関数を使用して、データ フレームの下部に合計行を追加する方法を示しています。

 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

データ フレームの下部に、各列の値の合計を表示する行が追加されていることに注意してください。

また、このメソッドは基本的な R メソッドと同じ結果を生成することにも注意してください。

追加リソース

次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。

Rでrbindを使用する方法
Rで行を削除する方法
R の行間の差を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です