将相关矩阵转换为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中任何东西,有很多方法可以做到这样的东西,但是这应该给你一些有用的工具一起工作。