首页 > 解决方案 > 将矩阵值计算为 R 中列表中所有成对比较的平均值

问题描述

我有一个清单: list <- c(10,20,30)

我想创建列表中元素的所有成对比较的平均值矩阵,例如: 在此处输入图像描述

我努力了: meanmatrix <- (list + list) / 2

但这给出了:10 40 90

我努力了: meanmatrix <- apply(list, 1, mean)

但这给出了:

“应用错误(lister,1,sum):dim(X)必须具有正长度”

我在 vb.net 中使用 For 循环完成了此操作,但我知道 R 中必须有更好的方法。我该怎么做?

标签: rmatrixmean

解决方案


你很亲密。你想要外部产品。

outer(list, list, "+") / 2

#      [,1] [,2] [,3]
# [1,]   10   15   20
# [2,]   15   20   25
# [3,]   20   25   30

推荐阅读