我试图通过运行NMF与临床元数据来确定元基因之间的相关性。因此,我有两个数据帧要处理。第一个是每个患者的h矩阵,表达Metagene。另一个数据帧是元数据。我想用元数据框架在n个Metagenes之间运行单独的关联。
n个meta基因的矩阵
Metagene 1 Metagene 2 Metagene N
P1 0.434 0.454
P2 0.322 0.343
P3 0.343 0.323
我想运行上面这个矩阵的一列与元数据矩阵(大约30+列)的相关性。
Age BMI etc
P1 43.4 45.4
P2 32.2 34.3
P3 34.3 32.3
从我自己的尝试和我的研究,我只能关联两个完整的数据框架,而不是一个特定的列与另一个完整的数据框架。任何建议将感激这个新手谢谢!
我将简单地将两个矩阵cbind
,在得到的矩阵和相关列和行子集上运行cor
:
你没有为你的数据提供一个代表,因此我想出了一个示例集来说明这个想法:
## Sample Data
set.seed(123)
mg <- matrix(rnorm(1000), ncol = 10)
colnames(mg) <- paste0("Metagene_", 1:10)
md <- matrix(rnorm(400), ncol = 4)
colnames(md) <- c("Age", "BMI", "Weight", "Height")
## Calculate all correlations
all_cors <- cor(cbind(mg, md))
## Extract the relevant rows and columns
all_cors[which(rownames(all_cors) %in% colnames(md)),
which(colnames(all_cors) %in% colnames(mg)),
drop = FALSE]
# Metagene_1 Metagene_2 Metagene_3 Metagene_4 Metagene_5 Metagene_6
# Age 0.07578378 -0.0237288723 -0.16055711 0.19574314 0.03423165 -0.04127698
# BMI -0.12758456 0.0126769273 0.08534472 0.01303423 0.14617045 0.03426132
# Weight -0.04952921 0.0008581215 0.13484638 -0.01789764 0.07973140 0.09242346
# Height 0.13040172 -0.0973757690 -0.02717946 0.09158976 0.10353301 -0.02002915
# Metagene_7 Metagene_8 Metagene_9 Metagene_10
# Age 0.08490306 0.14588393 -0.08666105 0.1722885
# BMI 0.17938487 -0.04331769 -0.01524405 -0.1039355
# Weight 0.02342581 0.16759941 0.16386263 -0.0433296
# Height 0.05756989 0.04728934 -0.06805982 0.1269274