计算两个列表之间的皮尔逊系数

Calculate the pearson coefficient between two lists

我有两个不同的列表(a 和 b),包含 626257 个向量,每个向量包含 44 个数字条目。一个列表包含示例数据,另一个列表用作参考。现在我想计算两个列表的所有条目之间的皮尔逊相关性。我将值存储在变量 (r) 中。

不幸的是,"r" 的输出只包含 "NA" 个条目。

这里是生成两个虚拟列表的代码。

a = replicate(626257,rep(10,44),simplify = FALSE)
b = replicate(626257,rep(3,44),simplify = FALSE)

这里是计算相关性的代码。

r = lapply(seq_along(a), function(ind)cor(a[[ind]], b[[ind]]))
View(r)

您可以使用 mapply 轻松完成此任务。正如 AkselA 指出的那样,您首先需要模拟具有一定差异的数据(例如,使用 rnorm(44) 而不是 rep, 10, 44))。见下文:

a <- replicate(626257,rnorm(44),simplify = FALSE)
b <- replicate(626257,rnorm(44),simplify = FALSE)
r <- mapply(cor, a, b)