R で相対度数表を作成する方法
相対頻度表は、データセット内の特定の値が、データセット内の値の総数と比較してどのくらいの頻度で出現するかを示します。
次の基本構文を使用して、R で頻度表を作成できます。
table(data)/length(data)
table()関数は個々のデータ値の頻度を計算し、 length()関数はデータセット内の値の合計数を計算します。
したがって、個々の周波数をデータセットの長さで割ることにより、データセット内の各値の相対周波数が得られます。
次の例は、この構文を実際に使用する方法を示しています。
例 1: ベクトルの相対度数テーブル
次のコードは、R の単一ベクトルの相対度数テーブルを作成する方法を示しています。
#define data data <- c('A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C') #create relative frequency table table(data)/length(data) ABC 0.2 0.3 0.5
表を解釈する方法は次のとおりです。
- データセット内のすべての値の20%は文字 A です
- データセット内のすべての値の30%は文字 B です
- データセット内のすべての値の50%は文字 C です
例 2: データ フレーム列の相対度数テーブル
次のコードは、R のデータ フレームの列の相対度数テーブルを作成する方法を示しています。
#define data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'), wins=c(2, 9, 11, 12, 15, 17, 18, 19), dots=c(1, 2, 2, 2, 3, 3, 3, 3)) #view first few rows of data frame head(df) team wins points 1 to 2 1 2 to 9 2 3 to 11 2 4 to 12 2 5 to 15 3 6 B 17 3 #calculate relative frequency table for 'team' column table(df$team)/length(df$team) ABC 0.625 0.250 0.125
例 3: データ フレーム内のすべての列の相対度数テーブル
次のコードは、R でデータ フレームの各列の相対度数テーブルを作成する方法を示しています。
#define data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'), wins=c(2, 9, 11, 12, 15, 17, 18, 19), dots=c(1, 2, 2, 2, 3, 3, 3, 3)) #calculate relative frequency table for each column sapply(df, function (x) table(x)/nrow(df)) $team x ABC 0.625 0.250 0.125 $wins x 2 9 11 12 15 17 18 19 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 $points x 1 2 3 0.125 0.375 0.500