R で 3 元テーブルを作成する方法 (例付き)
三変量テーブルは、 3 つのカテゴリ変数の度数を表示するテーブルの一種です。
R で 3 つのエントリのテーブルを作成する最も簡単な方法は、 xtabs()関数を使用することです。
three_way <- xtabs(~var1 + var2 + var3, data=df)
3 方向配列をよりコンパクトに表示したい場合は、 ftable()関数を使用できます。
three_way_ftable <- ftable(three_way)
注: xtabs()関数とftable()関数は R データベースに統合されています。
次の例は、実際にこれらの関数を使用して R で 3 元テーブルを作成する方法を示しています。
例: R で三元テーブルを作成する方法
さまざまなバスケットボール選手に関する情報を含む次のデータ フレームがあるとします。
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'), position=c('G', 'G', 'G', 'F', 'F', 'G', 'G', 'F', 'F', 'F'), starter=c('Yes', 'No', 'No', 'Yes', 'No', 'Yes', 'No', 'Yes', 'Yes', 'No'), points=c(30, 28, 24, 24, 28, 14, 16, 20, 34, 29)) #view data frame df team position starter points 1 AG Yes 30 2 AG No. 28 3 AG No. 24 4 AF Yes 24 5 AF No. 28 6 BG Yes 14 7 BG No. 16 8 BF Yes 20 9 BF Yes 34 10 BF No. 29
3 つの変数 ( team 、 position 、およびstarter )に基づいてプレーヤーの頻度を表示する 3 元テーブルを作成するとします。
xtabs()関数を使用して、この 3 方向配列を作成できます。
#create three-way table three_way <- xtabs(~ team + position + starter, data=df) #view three-way table three_way , , starter = No position team FG AT 12 B 1 1 , , starter = Yes position team FG At 1 1 B 2 1
結果の最初の表は、開始変数が No. に等しいプレイヤーのチーム別およびポジション別の頻度を示しています。
2 番目の表は、開始変数が「はい」に等しいプレーヤーのチーム別およびポジション別の頻度を示しています。
必要に応じて、 ftable()関数を使用して、これらの配列を単一の配列に「平坦化」できます。
#convert table to ftable three_way_ftable <- ftable(three_way) #view ftable three_way_fttable starter No Yes team position AF 1 1 G 2 1 BF 1 2 G 1 1
結果として得られる 3 変数テーブルには、3 つの変数の度数が「フラット」形式で表示されます。
たとえば、次のことがわかります。
- チームA、ポジションFに所属し、スターターではなかった選手が1名いました。
- チームA、ポジションFのスターター選手が1名いました。
- チームA、ポジションGに所属し、スターターではなかった選手が2名いました。
等々。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。