【发布时间】:2019-12-12 10:02:46
【问题描述】:
我有两个不同的列表(a 和 b),其中包含 626257 个向量,每个向量包含 44 个数字条目。一个列表包含样本数据,另一个列表用作参考。现在我想计算两个列表的所有条目之间的 pearson 相关性。我将值存储在变量 (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)
【问题讨论】:
-
您的向量的方差为零,请尝试用随机数据替换它们,例如
rnorm(44)。 -
你想要的结果是什么?你想要626257个值还是一个值(
a中的所有值与b中的所有值之间的相关性? -
我无法用 rnorm(44) 替换 44 值。因为我希望每个向量有 44 个条目。但我试过这个:rnorm(10) 和 rnorm(3)。但现在每个向量有 440 和 132 个条目。我不理解为什么。我想要向量中的随机数,但向量的数量(626257)和长度(44)不应该改变。最后我想要626257个相关值。
-
我的答案中的代码(包括
rnorm(44))创建了一个具有 44 个正态分布值的向量 - 这就是你想要的。
标签: r list structure correlation pearson