R に 2 つのテーブル (女性と男性) があり、存在と不在のデータがあります。各ペア間で共有されていないセルの数を見つけるために、それらの間でペアごとの比較を行いたいと思います(つまり、セルの合計は女性では1に等しく、男性ではなく、その逆) .
外積 (%*%) は、私が必要としているものとは反対のことを知っています。これは、男性と女性のペア間で共有されるセルの合計を含む新しい行列を作成します (つまり、両方のセルの合計が 1 に等しい)。
データセットの例を次に示します。
females <- as.data.frame(matrix(c(0,0,0,1,1,0,1,0,1,0,1,0,1,0,1,1,1,0,1,1,1,0,1,1,1), nrow=5, byrow=T))
males <- as.data.frame(matrix(c(1,0,0,1,1,0,1,0,1,1,1,0,1,0,1,1,1,0,1,1,1,0,1,0,1), nrow=5, byrow=T))
rownames(females) <-c ("female_1","female_2","female_3","female_4","female_5")
rownames(males) <-c ("male_1","male_2","male_3","male_4","male_5")
したがって、外積を計算すると
as.matrix(females) %*% t(as.matrix(males))
私はこれを得る
male_1 male_2 male_3 male_4 male_5
female_1 2 2 1 2 1
female_2 1 2 0 2 0
female_3 2 1 3 2 3
female_4 3 3 2 4 2
female_5 3 2 3 3 3
しかし、私はこれが必要です(最初の行のみが表示されています)
male_1 male_2 male_3 male_4 male_5
female_1 1 1 3 2 3
.
.
実際には、私のデータセットは対称的ではありません (47 人の女性と 32 人の男性がいます)。
助けてくれてありがとう!!!