将相关矩阵转换为R中的Pajek输入文件

问题描述:

我需要将相关矩阵转换为Pajek输入文件以进行网络分析。 更具体地说,我试图用R将相关p值的矩阵转换为重要相关性的“rowname columnname”列表。这是很多变量之间的重要相关性列表。 如果我有变量a,b,c,d和a,c; b,d和一,d是相关的,我想一个列表如下:将相关矩阵转换为R中的Pajek输入文件

a b; 
b d; 
a d 

到目前为止,我的[R技能不足,使我产生的相关p值矩阵,插入NA,并低于对角线(以避免无意义和重复的相关性),并且如果p值不重要/显着,则用PALSE/TRUE替换p值。 但现在我被卡住了,一直没有能够谷歌我的出路。

下面是一个例子,可能有一些最基本的帮助:

#Create a matrix 
m <- matrix(1:16,4,4) 
rownames(m) <- letters[1:4] 
colnames(m) <- letters[1:4] 
m 
    a b c d 
a 1 5 9 13 
b 2 6 10 14 
c 3 7 11 15 
d 4 8 12 16 

#Identify the indices for entries in m 
# that are greater than 10 
m1 <- which(m > 10, arr.ind = TRUE) 

#Row and column names of those entries 
# greater than 10. Notice the use of subsetting 
# via [. 
cbind(rownames(m)[m1[,1]],colnames(m)[m1[,2]]) 
    [,1] [,2] 
[1,] "c" "c" 
[2,] "d" "c" 
[3,] "a" "d" 
[4,] "b" "d" 
[5,] "c" "d" 
[6,] "d" "d" 

与R中任何东西,有很多方法可以做到这样的东西,但是这应该给你一些有用的工具一起工作。