【问题标题】:R function to find which of 3 variables correlates most with another value?R函数找出3个变量中的哪一个与另一个值最相关?
【发布时间】:2020-01-17 17:38:56
【问题描述】:

我正在进行一项研究,分析演讲者的表现并测量他们的平均 F2 值。我需要的是一个 R 函数,它允许我找到这些 F2 值与其他 3 个变量的关系,如果有,哪个是最重要的。这些变量已被编码为 1、2 或 3,例如“是”“否”答案或响应是正面、中性还是负面(分别为 1、2、3)。

我们可以使用特定的技术或 R 函数/测试来解决这个问题吗?我考虑过使用 ANOVA 或 T 检验,但不确定这是否能满足我的需求。

【问题讨论】:

标签: r anova linguistics t-test


【解决方案1】:

快速解决方案可能如下所示。这里使用了cor 函数。阅读其帮助页面 (?cor) 以了解计算的内容。默认情况下,使用 Pearson 相关系数。下面的函数返回相对于参考变量具有最高 Pearson 相关性的变量。

set.seed(111)

x <- rnorm(100)
y <- rnorm(100)
z <- rnorm(100)

ref <- 0.5*x + 0.5*rnorm(100)

find_max_corr <- function(vars, ref){
  val <- sapply(vars, cor, y = ref)
  val[which.max(val)]
}

find_max_corr(list('x' = x, 'y' = y, 'z' = z), ref)

【讨论】:

    最近更新 更多