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 の行間の差を計算する方法