R 从相关矩阵创建指标矩阵
我有一个表格,显示了每个源1,…,n的三个不同变量Correlation1,Correlation2,Correlation3之间的相关性。然而,并非每个来源都报告了所有的相关性 现在我想创建一个矩阵,指出这些关联中的哪一个是在哪个源中给出的。指标矩阵的行数应等于不带NA的corr.表格中给出的值总数。如果给出该位置的相应相关性,则指示器始终位于对角线上,并设置为1 我用一个简单的例子总结了我的问题: 这里,源1包含第一个相关性,因此对角线的第一个值设置为1,所有其他元素为0。资料来源2中也给出了同样的情况。Source 3报告所有三个相关性,因此第三行中的第一个值将设置为1,第四行中的第二个元素也设置为1,第五行中的第三个值设置为1。等等 您有没有想法,在R中给定相关矩阵的情况下,如何创建此指标矩阵?这可能会起作用:R 从相关矩阵创建指标矩阵,r,matrix,correlation,R,Matrix,Correlation,我有一个表格,显示了每个源1,…,n的三个不同变量Correlation1,Correlation2,Correlation3之间的相关性。然而,并非每个来源都报告了所有的相关性 现在我想创建一个矩阵,指出这些关联中的哪一个是在哪个源中给出的。指标矩阵的行数应等于不带NA的corr.表格中给出的值总数。如果给出该位置的相应相关性,则指示器始终位于对角线上,并设置为1 我用一个简单的例子总结了我的问题: 这里,源1包含第一个相关性,因此对角线的第一个值设置为1,所有其他元素为0。资料来源2中也给出
> df <- matrix(rnorm(18),6,3)
> df[4,1] <- NA
> df[3,2] <- NA
> df[6,3] <- NA
> df
[,1] [,2] [,3]
[1,] 0.59299285 0.47057987 1.5362658
[2,] -1.06073361 0.03898895 -0.3732643
[3,] 0.35102152 NA 0.7484060
[4,] NA 0.58117835 -0.4967971
[5,] 0.09878368 -0.71531458 1.4571918
[6,] -0.86293568 -0.07522243 NA
编辑:正如@Ferdinand指出的,以下内容更简单:
> idmat <- 1-is.na(df)
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 1 1
[3,] 1 0 1
[4,] 0 1 1
[5,] 1 1 1
[6,] 1 1 0
请阅读并相应更新您的问题。你试过什么?干杯。你能澄清一下在指标矩阵中设置1或0的条件吗?或者简单地说是1-is.nadf。几乎是的,但你位置[1,2]的值应该在位置[2,2],位置[1,3]的值应该在位置[3,3]。对于您示例中的第[3]行,指标矩阵中只有两行:[7,1]为1,[8,3]为1。。。我知道我的问题和例子有点奇怪。但是颜色应该让我很容易理解我的问题。
> idmat <- 1-is.na(df)
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 1 1
[3,] 1 0 1
[4,] 0 1 1
[5,] 1 1 1
[6,] 1 1 0