2016-06-25 17 views
0

p値と距離を単一の行列の下三角形と上三角形の項目として表現したいと考えています。私は両方のためのUTまたはLT行列を作成するために管理している間、私は次の行を試みたが、は、上三角行列と下三角行列を単一のデータフレームに結合します。

dist[(upper.tri(dist,diag=FALSE))]=pval[(lower.tri(pval,diag=FALSE))] 
を動作しませんR.

dist[(upper.tri(dist,diag=FALSE))]=0 #upper tri of distances 
pval[(lower.tri(pval,diag=FALSE))]=0 #lower tri of p-values 

に単一のデータフレームにそれらをマージするベンができない持っています

これを行う方法はありますか?

+0

どのようにマージしますか? distと期待される出力のサンプルを与えてください。 –

答えて

0

私は、これは、よりエレガントに行うことができるが、私は、これは何をしたいんだと思うと確信している:

a <- matrix(0, nrow = 10, ncol = 10) 
b <- matrix(1, nrow = 10, ncol = 10) 

a[upper.tri(a)] 
b[lower.tri(b)] 

new <- matrix(NA, nrow = 10, ncol = 10) 
new[upper.tri(new)] <- a[upper.tri(a)] 
new[lower.tri(new)] <- b[lower.tri(b)] 
new 

あなたが再現可能な例を提供していなかったので、私は確認することはできませんが、基本的にはI行列の上下を取って(0と1のうちの1つ)、それをnewに組み合わせてください。概念の証明として、newは対角線上に0、下に1、対角線自体にNAを持ちます。うまくいけば、これはあなたの問題のいくつかの洞察を与える。

+0

ありがとう!これはまさに私が探していたものですが、私が書いていた行の多くは不器用でした。もう一度ありがとう! –

関連する問題