我有一个包含许多观察结果和许多变量的数据框。其中一些是分类的(无序的),另一些是数字的。
我正在寻找这些变量之间的关联。我已经能够计算数值变量的相关性(Spearman 相关性)但是:
- 我不知道如何衡量无序分类变量之间的相关性。
- 我不知道如何衡量无序分类变量和数值变量之间的相关性。
有谁知道如何做到这一点?如果是这样,是否有实现这些方法的 R 函数?
我有一个包含许多观察结果和许多变量的数据框。其中一些是分类的(无序的),另一些是数字的。
我正在寻找这些变量之间的关联。我已经能够计算数值变量的相关性(Spearman 相关性)但是:
有谁知道如何做到这一点?如果是这样,是否有实现这些方法的 R 函数?
这取决于您想要什么样的相关性。当您运行典型的 Pearson 乘积矩相关性时,您会得到关联强度的度量,并得到关联重要性的检验。然而,更典型的是,显着性检验和效应大小的测量是不同的。
显着性测试:
影响大小(关联强度):
如果您想要分类变量的相关矩阵,可以使用以下包装函数(需要“vcd”包):
catcorrm <- function(vars, dat) sapply(vars, function(y) sapply(vars, function(x) assocstats(table(dat[,x], dat[,y]))$cramer))
在哪里:
vars
是要关联的分类变量的字符串向量
dat
是一个包含变量的data.frame
结果是一个 Cramer 的 V 矩阵。
取决于你想要达到什么。让是连续的数值变量,并且(无序的)分类变量。然后一种可能的方法是分配数字分数对每个可能的值,. 一种可能的标准是最大化和分数. 只有一个连续变量和一个分类变量,这可能不是很有帮助,因为最大相关性总是一个(为了证明这一点,并找到一些这样的分数,是使用拉格朗日乘数的练习!对于多个变量,我们尝试找到分类变量的折衷分数,也许试图最大化多重相关性. 那么各个相关性将不会更多(除了非常特殊的情况!)等于一。
这种分析可以看作是多重对应分析的概括,并且以许多名称而闻名,例如典型相关分析、同质性分析等。R 中的一个实现在homals
包中(在 CRAN 上)。谷歌搜索其中一些名称会提供丰富的信息,有一本完整的书:Albert Gifi,“Nonlinear Multivariate Analysis”。祝你好运!