2016-09-03 10 views
0

私の以前の質問をフォローアップして、以下のデータで程度の中心を作りたいと思います。生存データから隣接性行列を作成する

私は前の例をstackoverflow(how to find degree centrality of nodes in a matrix?)に複製しようとしましたが、いくつかの課題がありました。 (U1、U2、U3、U4、U5、U6はナンシーを表し、法案、ボブ、badriユーザーとそれらがどのように彼らはクラブを介して接続されている:私は、隣接行列を作成する必要があり、このデータから

a <- c('nancy','bill','bob','badri','bill','kiron','david') 
b <- c('martial-arts','dance','sports','judo','judo','judo','judo') 

df <- data.frame(a, b) 

に参加する)。助けてもらえますか?

生データからこの隣接行列を作成するのが難しいです。誰かがどのように進行するかについてのアイデアを提案することができます。

+0

私は隣接行列を作成しようとしていますが、私は等しくない行と列を持っています(正方形ではありません)。私のユーザーはグループ以上のものです。どのように進むべきかについての提案はありますか? Thxみんな! – user3570187

答えて

3

このソリューションは、Solomon Messing経由で来る:

M <- as.matrix(table(df)) 
M <- tcrossprod(M) 
diag(M) <- 1 
M 
#  a 
# a  badri bill bob david kiron nancy 
# badri  1 1 0  1  1  0 
# bill  1 1 0  1  1  0 
# bob  0 0 1  0  0  0 
# david  1 1 0  1  1  0 
# kiron  1 1 0  1  1  0 
# nancy  0 0 0  0  0  1 

は疎行列でこれを行う方法に関するガイダンスのための完全なポストを参照してください。

関連する問題