如何对数据框所有列组合计算列联系数?(R语言)
计算分类变量列间的所有列对列联系数
前置准备
首先确保安装并加载DescTools包:
# 首次使用时安装包 install.packages("DescTools") # 加载包 library(DescTools)
批量计算所有列对的列联系数
利用combn()函数生成所有列的两两组合,结合ContCoef()批量计算:
# 计算所有列对的列联系数 cont_coef_results <- combn(ncol(data), 2, function(col_indices) { ContCoef(data[, col_indices[1]], data[, col_indices[2]], correct = TRUE) }) # 为结果添加列对名称,方便识别 names(cont_coef_results) <- combn(colnames(data), 2, paste, collapse = " vs ")
整理为结构化数据框(可选)
如果需要更直观的表格形式,可将结果转换为数据框:
cont_coef_df <- data.frame( 列组合 = combn(colnames(data), 2, paste, collapse = " vs "), 列联系数 = cont_coef_results ) # 查看结果 print(cont_coef_df)
说明:
combn(ncol(data), 2)会自动生成所有2列的索引组合,无需手动指定每一对列- 匿名函数中的
col_indices代表每一组列的索引,通过data[, col_indices[1]]和data[, col_indices[2]]提取对应列传入ContCoef() - 添加的列对名称,能清晰对应每个结果所属的两列
内容的提问来源于stack exchange,提问作者Kevin
相关产品推荐
相关产品推荐

