将矩阵值计算为 R 中列表中所有成对比较的平均值

Posted

技术标签:

【中文标题】将矩阵值计算为 R 中列表中所有成对比较的平均值【英文标题】:Calculate matrix values as average of all pairwise comparisons in a list in R 【发布时间】:2021-07-06 18:47:28 【问题描述】:

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

我想为列表中所有元素的成对比较创建一个平均值矩阵,例如:

我尝试过: meanmatrix <- (list + list) / 2

但这给出了: 10 40 90

我尝试过: meanmatrix <- apply(list, 1, mean)

但这给出了:

"apply(lister, 1, sum) 中的错误:dim(X) 的长度必须为正数"

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

【问题讨论】:

【参考方案1】:

你很接近。你想要外部产品。

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

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

【讨论】:

谢谢亚当。完美运行。

以上是关于将矩阵值计算为 R 中列表中所有成对比较的平均值的主要内容,如果未能解决你的问题,请参考以下文章