在R语言中如何读取单列数值生成all minus all全减差值矩阵
自定义函数实现
generate_diff_mat <- function(input_df) { # 提取标签列、将数值列转换为数值格式 labs <- input_df[, 1] vals <- as.numeric(input_df[, 2]) # 批量计算所有行对应数值减去列对应数值 diff_mat <- outer(vals, vals, `-`) # 为矩阵设置行列标签 dimnames(diff_mat) <- list(labs, labs) return(diff_mat) }
测试效果
使用你提供的示例数据调用函数:
# 构造示例数据 label <- c("A", "B", "C") value <- c(1,5,3) example <- cbind(label, value) # 调用函数 generate_diff_mat(example)
输出结果如下:
A B C A 0 -4 -2 B 4 0 2 C 2 -2 0
内容的提问来源于stack exchange,提问作者jaykay
相关产品推荐
相关产品推荐

