【发布时间】:2022-01-02 04:26:32
【问题描述】:
我被困在将配对相关转换为矩阵相关。如果相关矩阵包含在pair相关中,则将pair相关复制到矩阵中,如果没有,则用0填充。
cor<- data.frame("var1"=paste0("aa", sep="_", 1:13), "var2"=paste0("bb", sep="_", 1:17), "b"=runif(221, min=0, max=1))
m <- matrix(0, 23, 27)
rownames(m)<- c(unique(cor$var1), paste0("aa", sep="_", 14:23))
colnames(m)<- c(unique(cor$var2), paste0("bb", sep="_", 18:27))
for (i in 1:nrow(m)) {
itemrow<- row.names(m)[i]
for (j in 1:ncol(m)) {
itemcol<- colnames(m)[j]
if (itemrow== cor$var2 && itemcol==cor$var1) {
m[itemrow, itemcol] <- cor$b
} else {
NULL
}
}
}
【问题讨论】:
-
您的意思是
==而不是m[i, 1]= cor$Var2 && m[1, j]=cor$Var1中的=。当您将 'm' 创建为NA时,比较也不起作用 -
为什么每一对都有两个不同值的条目?如果是相关性,则值应该相同。
-
我重新编辑了矩阵和cor定义,没有问题了
标签: r matrix correlation