在R语言中计算连续向量矩阵与二元向量矩阵的相关性
计算mat1列与mat2列的相关性
你可以直接使用R中的cor()函数来计算两个矩阵列之间的相关性,该函数默认计算Pearson相关系数,也支持Spearman等其他方法。
步骤1:确认矩阵构造正确
首先运行你提供的代码构造两个矩阵:
# 构造mat1 mat1.data <- c(-0.12, -0.09, -0.01, -0.2, 0.3, 0.1, 0.2, -0.5, -0.1, 0.7, -0.04, 0.02, -0.08, -0.2, -0.7, -0.26, -0.09, -0.04, 0.05, 0.01, -0.26, -0.36, -0.26, -0.05, -0.03, 0.02, -0.01, 0.01, 0.01, -0.05) mat1 <- matrix(mat1.data,nrow=6,ncol=5,byrow=TRUE) rownames(mat1) <- paste0("cell", seq(1,6,1)) colnames(mat1) <- paste0("col", seq(1,5,1)) # 构造mat2 mat2.data <- c(0,1,0,0,0, 1,0,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 1,0,0,0,0, 0,0,0,0,1) mat2 <- matrix(mat2.data,nrow=6,ncol=5,byrow=TRUE) rownames(mat2) <- paste0("cell", seq(1,6,1)) colnames(mat2) <- paste0("var", seq(1,5,1))
步骤2:计算列间相关性
使用cor()函数直接计算:
# 计算Pearson相关系数(默认) cor_matrix <- cor(mat1, mat2) # 查看结果 print(cor_matrix)
结果说明
返回的cor_matrix是一个5×5的矩阵:
- 行对应
mat1的列(col1到col5) - 列对应
mat2的列(var1到var5) - 每个元素代表对应列之间的相关系数
其他相关性方法
如果需要计算Spearman秩相关系数,只需添加method参数:
# 计算Spearman相关系数 cor_matrix_spearman <- cor(mat1, mat2, method = "spearman")
内容的提问来源于stack exchange,提问作者Yulia Kentieva
相关产品推荐
相关产品推荐

