gpt4 book ai didi

r - 如何在大型数据集中找到显着的相关性

转载 作者:行者123 更新时间:2023-12-04 05:30:59 24 4
gpt4 key购买 nike

我正在使用 R。
我的数据集有大约 40 个不同的变量/向量,每个有大约 80 个条目。我试图找到显着的相关性,这意味着我想选择一个变量并让 R 计算该变量与其他 39 个变量的所有相关性。

我试图通过使用一个带有一个解释变量的线性模型来做到这一点,这意味着:Y=a*X+b。
然后 lm() 命令为我提供了 a 的估计值和该估计值的 p 值。然后我会继续使用我对 X 拥有的其他变量之一,然后再试一次,直到找到一个非常小的 p 值。

我确定这是一个常见问题,是否有某种包或函数可以尝试所有这些可能性(蛮力),显示它们,然后甚至可以按 p 值对它们进行排序?

最佳答案

以下是一些用于重现性的示例数据。

m <- 40
n <- 80
the_data <- as.data.frame(replicate(m, runif(n), simplify = FALSE))
colnames(the_data) <- c("y", paste0("x", seq_len(m - 1)))

您可以使用 cor 计算两列之间的相关性。 .此代码循环遍历除第一列(包含我们的响应)之外的所有列,并计算该列与第一列之间的相关性。
correlations <- vapply(
the_data[, -1],
function(x)
{
cor(the_data[, 1], x)
},
numeric(1)
)

然后,您可以找到与 y 相关性最大的列。使用:
correlations[which.max(abs(correlations))]

所以知道哪些变量是相关的,哪些其他变量可能很有趣,但请不要从这些知识中得出任何大的结论。你需要正确思考你想要理解什么,以及你需要使用哪些技术。人们在 Cross Validated可以帮助。

关于r - 如何在大型数据集中找到显着的相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21604997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com