で2モードの周波数行列を作成します。私は次のようになりますデータフレームを、持っているR
データセットで400以上の変数がありますCASENO Var1 Var2 Resp1 Resp2
1 1 0 1 1
2 0 0 0 0
3 1 1 1 1
4 1 1 0 1
5 1 0 1 0
。これは単なる例です。 R(ケース番号は除く)に簡単な周波数行列を作成する必要がありますが、table
関数は機能しません。具体的には、列の一部をクロス集計して、2モードの周波数行列を作成する方法を検討しています。表は次のようになります。Stataので
Var1 Var2
Resp1 3 1
Resp2 3 2
、コマンドは次のとおりです。
gen var = 1 if Var1==1
replace var= 2 if Var2==1
gen resp = 1 if Resp1==1
replace resp = 2 if Resp2==1
tab var resp
一つさらなる単純化は' M <あろう。 –
ありがとう!これはとても役に立ちます。 crossprodコマンドを使用して、列名ではなく列番号をどのように参照するのですか? – jj987246
@ jj987246、列番号を含むベクトルを使用してください。 'crossprod(m [、1:4]、m [、5:8])' –