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

追加リソース

Rで双方向テーブルを作成する方法
R で相対頻度ヒストグラムを作成する方法

コメントを追加する

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