如何在 r 中计算多相关性
多相关性用于计算序数变量之间的相关性。
回想一下,序数变量是其可能值是分类的并且具有自然顺序的变量。
以下是按序数尺度测量变量的一些示例:
- 满意度:非常不满意、不满意、一般、满意、非常满意
- 收入水平:低收入、中等收入、高收入
- 职位状态:初级分析师、一级分析师、二级分析师、高级分析师
- 疼痛程度:低度、中度、高度
多相关性的值在 -1 到 1 之间变化,其中:
- -1表示完全负相关
- 0表示没有相关性
- 1表示完全正相关
我们可以使用polycor包中的polychor(x, y)函数来计算R中两个序数变量之间的多向相关性。
以下示例展示了如何在实践中使用此功能。
示例 1:计算电影评级的多向相关性
假设您想知道两个不同的电影评级机构的电影评级之间是否具有高度相关性。
我们要求每个机构按照 1 到 3 的等级对 20 部不同的电影进行评分,其中:
- 1表示“坏”
- 2表示“差”
- 3表示“好”
我们可以在 R 中使用以下代码来计算两个机构评级之间的多向相关性:
library (polycor) #define movie ratings for each agency agency1 <- c(1, 1, 2, 2, 3, 2, 2, 3, 2, 3, 3, 2, 1, 2, 2, 1, 1, 1, 2, 2) agency2 <- c(1, 1, 2, 1, 3, 3, 3, 2, 2, 3, 3, 3, 2, 2, 2, 1, 2, 1, 3, 3) #calculate polychoric correlation between ratings polychor(agency1, agency2) [1] 0.7828328
多向相关性结果为0.78 。
这个值相当高,表明每个机构的评级之间存在很强的正相关关系。
示例 2:计算餐厅评论的多向相关性
假设您想知道两个不同的社区餐厅的顾客评分之间是否存在相关性。
我们随机调查了在这两家餐厅用餐过的 20 名顾客,并要求他们按照 1 到 5 的等级对总体满意度进行评分,其中:
- 1表示“非常不满意”
- 2表示“不满意”
- 3表示“中性”
- 4表示“满意”
- 5表示“非常满意”
我们可以在 R 中使用以下代码来计算两个餐厅评分之间的多向相关性:
library (polycor) #define ratings for each restaurant restaurant1 <- c(1, 1, 2, 2, 2, 3, 3, 3, 2, 2, 3, 4, 4, 5, 5, 4, 3, 4, 5, 5) restaurant2 <- c(4, 3, 3, 4, 3, 3, 4, 5, 4, 4, 4, 5, 5, 4, 2, 1, 1, 2, 1, 4) #calculate polychoric correlation between ratings polychor(restaurant1, restaurant2) [1] -0.1322774
多向相关性结果为-0.13 。
该值接近于零,表明餐厅评级之间几乎没有(如果有的话)关联。
其他资源
以下教程解释了如何计算 R 中其他常见的相关系数:
如何在 R 中计算 Spearman 等级相关
如何计算 R 中的点双列相关性
如何计算 R 中的互相关
如何计算R中的滑动相关性
如何在 R 中计算偏相关