如何在R中找到数值变量和因子变量之间的相关性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在R中找到数值变量和因子变量之间的相关性?相关的知识,希望对你有一定的参考价值。

我是R的新手,我试图找到数值变量和因子变量之间的相关性和t检验。因子变量是性别(F,M),数字变量是体重。我该怎么做呢?

我尝试过cor.test(体重,性别),t.test(体重,性别),但不断出错。

这些是错误:

cor.test(体重,性别)错误cor.test.default(体重,性别):'x'和'y'必须具有相同的长度

和:

t.test(体重,性别)var(y)中的错误:在因子x上调用var(x)已失效。使用“ all(duplicated(x)[-1L])”之类的东西来测试常数向量。另外:警告消息:在mean.default(y)中:参数不是数字或逻辑:返回NA

答案

您已经关闭,但是您只是忘记添加数据框名称。这是一个使用数据集iris演示如何正确执行的示例:

> t.test(iris$Sepal.Length, iris$Sepal.Width)

    Welch Two Sample t-test

data:  iris$Sepal.Length and iris$Sepal.Width
t = 36.463, df = 225.68, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 2.63544 2.93656
sample estimates:
mean of x mean of y 
 5.843333  3.057333 

> cor.test(iris$Sepal.Length, iris$Sepal.Width)

    Pearson's product-moment correlation

data:  iris$Sepal.Length and iris$Sepal.Width
t = -1.4403, df = 148, p-value = 0.1519
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.27269325  0.04351158
sample estimates:
       cor 
-0.1175698 

因此,如果您的数据框称为data,则您想这样做:

t.test(data$weight, data$gender)
cor.test(data$weight, data$gender)

以上是关于如何在R中找到数值变量和因子变量之间的相关性?的主要内容,如果未能解决你的问题,请参考以下文章

R语言应用实战-基于R的因子分析(以上市公司数据为例)

如何计算两变量的相关系数r?

R语言_table()函数与因子变量

R语言 | PearsonSpearmanKendallPolychoricPolyserial相关系数简介及R计算

如何进行相关性分析 进行相关性分析的方法

R语言构建xgboost模型:特征因子化独热编码( one-hot encoding)卡方检验判断预测变量与目标变量的相关性