R で複数の変数の頻度表を作成する方法
R のデータ フレーム内の複数の変数の頻度表を計算するには、次の構文を使用するapply()関数を使用できます。
apply (X, FUN MARGIN)
金:
- X:データの配列、行列、またはブロック
- MARGIN:行 (1) または列 (2) に関数を適用します。
- FUN:適用する機能
次の例は、この構文を実際に使用する方法を示しています。
例 1: R のすべての変数の頻度表
次のコードは、データ フレーム内の各変数の度数表を計算する方法を示しています。
#create data frame df <- data. frame (var1=c(1, 1, 2, 2, 2, 2, 3), var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'), var3=c(6, 7, 7, 7, 8, 8, 9)) #view first few rows of data frame head(df) var1 var2 var3 1 1 To 6 2 1 A 7 3 2 To 7 4 2 To 7 5 2 B 8 6 2 B 8 #calculate frequency table for every variable in data frame apply((df), 2, table) $var1 1 2 3 2 4 1 $var2 AB 4 3 $var3 6 7 8 9 1 3 2 1
結果は、データ フレーム内の変数ごとに 1 つずつ、合計 3 つの度数表になります。
最初の頻度表を解釈する方法は次のとおりです。
- 値1が「var1」列に 2 回表示されます。
- 値2 が「var2」列に 4 回表示されます
- 値3 が「var3」列に 1 回表示されます
他の度数表も同様に解釈できます。
例 2: R の特定の変数の頻度表
次のコードは、データ フレーム内の特定の変数の度数表を計算する方法を示しています。
#create data frame df <- data. frame (var1=c(1, 1, 2, 2, 2, 2, 3), var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'), var3=c(6, 7, 7, 7, 8, 8, 9)) #calculate frequency table for var1 and var3 columns apply((df[c(' var1 ', ' var3 ')]), 2, table) $var1 1 2 3 2 4 1 $var3 6 7 8 9 1 3 2 1
例 3: R の 1 つを除くすべての変数の度数表
データ フレームにインデックス列があり、インデックス列を除くデータ フレーム内の各変数の度数表を計算するとします。
次のコードは、これを行う方法を示しています。
#create data frame df <- data. frame (index=c(1, 2, 3, 4, 5, 6, 7), var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'), var3=c(6, 7, 7, 7, 8, 8, 9)) #calculate frequency table for all columns except index column apply((df[-1]), 2, table) $var2 AB 4 3 $var3 6 7 8 9 1 3 2 1