R 如何检查两个变量之间的水平相关性?

R 如何检查两个变量之间的水平相关性?,r,correlation,R,Correlation,在一个名为X的数据框中,我有两列A和B。A有38个级别,B有3个级别 我如何检查A的38个级别和B的3个级别之间的相关性?谢谢。术语“相关性”用于数字字符的变量。如果您正在检查两个分类变量(具有因子水平)的联合关系,那么您可以查看带有表的交叉表格: AB.tbl <- with(X, table, A,B)) AB.tbl 术语“相关性”用于数字性质的变量。如果您正在检查两个分类变量(具有因子水平)的联合关系,那么您可以查看带有表的交叉表格: AB.tbl <- with(X, t

在一个名为X的数据框中,我有两列A和B。A有38个级别,B有3个级别

我如何检查A的38个级别和B的3个级别之间的相关性?谢谢。

术语“相关性”用于数字字符的变量。如果您正在检查两个分类变量(具有因子水平)的联合关系,那么您可以查看带有
表的交叉表格

AB.tbl <- with(X, table, A,B))
AB.tbl
术语“相关性”用于数字性质的变量。如果您正在检查两个分类变量(具有因子水平)的联合关系,那么您可以查看带有
表的交叉表格

AB.tbl <- with(X, table, A,B))
AB.tbl

如果A和B是有序的,那么我们可以计算它们的秩相关性(即它们秩的相关性):


如果A和B是有序的,那么我们可以计算它们的秩相关性(即它们秩的相关性):


请检查并特别显示您的输入,但首先将问题缩小到最小。请检查并特别显示您的输入,但首先将问题缩小到最小。感谢上述解决方案,我无法在任何其他论坛上找到它。但是,我想问,它是否真的是correla对我来说,这似乎是一种点式的相互信息(更多关于PMI的信息可以访问:)。互信息和点态互信息的主要区别在于MI是如何在分布上计算的,因此不能为负。而PMI是点态的,可以有负分数来显示点之间的负关联。感谢上述解决方案,我在其他论坛上都找不到它。但是,我我想问的是,它实际上是相关性还是互信息?对我来说,它似乎是点方向的互信息(关于PMI的更多信息可以访问:).互信息和点态互信息的主要区别在于MI是如何在分布上计算的,因此不能为负。而PMI是点态的,可以为负分数,以显示点之间的负关联。
dd <- data.frame(A = c("a", "a", "b", "b", "c", "c"), 
                 B = c("x", "x", "x", "y", "y", "y")) # test data
with(dd, cor(rank(A), rank(B)))
## [1] 0.8164966
mA <- model.matrix(~ A - 1, dd)
mB <- model.matrix(~ B - 1, dd)
cor(mA, mB)
##            Bx         By
## Aa  0.7071068 -0.7071068
## Ab  0.0000000  0.0000000
## Ac -0.7071068  0.7071068
cancor(mA, mB)$cor
## [1] 0.8164966