2017-07-17 4 views
0

私は、70個の列変数を持つデータセットを持っていて、それぞれが0-1ダミー変数と3500個の観測値を持っています。私は、ある変数の「成功」を伴う観測が他の変数とどのくらいの頻度で一致しているかを見たいと考えています。言い換えれば、obs 1は変数1に成功のダミーを持ちます。変数2にはどのくらいの頻度で成功しますか?私は、2つの列だけが関わっ​​ているときに相互作用を示すマトリックス表を作成する方法を見つけましたが、多くの列を含むものは見つけられません。理想的には、これを70個の変数と70個の変数を持つインタラクションマトリックスに表示するのが好きです。ここで、データ・セットの概念がある:多くの変数間の相互作用行列の実行

Dat A B C D XX 1 1 1 1 XY 0 1 0 1 XZ 0 0 1 1

出力IMなり待っ:

Out A B C D 
A 0 1 1 1 
B  0 1 2 
C   0 2 
D    0 

(A、B)がペアリングされた回数(Bを表示、 C)はペアリングなどである。

私はtable()コマンドとas.matrixを使用しようとしましたが、これらは2つの列として編成されたデータを必要とし、多くの列変数を参照するとデータを理解できません。私はかなり新しいRですので、私の質問がはっきりしないか、またはおそらくかなりシンプルな場合はお詫び申し上げます。

何か助けていただければ幸いです。ありがとう

+0

が小さい再生可能なデータセットを提供し、あなたがこれまでにしようとしているものを含めてください。 – Jimbou

+0

これらの質問に新しいことができました。物事をより明確にするためにいくつかの情報を追加しました。 – nghallmark

答えて

1

ここでは、不定サイズの相関行列を作成する方法を説明します。 ...まず...

dat <- matrix(sample(0:1, size = 700, replace = TRUE), ncol = 70) 
dat <- data.frame(dat) 

が続いて相関を計算...

dat <- cor(dat) 

をデータセットの再現性の例を作成し、視覚的に相関をプロット

library(corrplot) 
corrplot(dat, method = "square") 

A massive correlation matrix with colored squares

色の代わりに数値を使用して相関をプロットすることもできます。パブリケーションでそれらを使用する前に、これらのチャートをフィネスしたいと思う明らか

corrplot(dat, method = "number") 

A massive correlation matrix with numbers

corrplotは、チャートの外観のためのたくさんのオプションを提供します。

+0

これは役に立ちましたが、私が探していたものではありません。私は明確にするためにもう少し追加しました。 – nghallmark

0

あなたは試すことができます:

res <- apply(combn(2:ncol(df), 2), 2, function(x, y) sum(rowSums(y[, x]) == 2), df) 
m <- diag(x=0, ncol(df)-1) 
m[upper.tri(m)] <- res 
m[lower.tri(m)] <- NA 
dimnames(m) <- list(colnames(df)[-1], colnames(df)[-1]) 
    A B C D 
A 0 1 1 1 
B NA 0 1 2 
C NA NA 0 2 
D NA NA NA 0 
関連する問題