计算两个列表之间的皮尔逊系数
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)
我有两个不同的列表(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)