【问题标题】:Calculate matrix values as average of all pairwise comparisons in a list in R将矩阵值计算为 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 中必须有更好的方法。我该怎么做?

【问题讨论】:

    标签: r matrix mean


    【解决方案1】:

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

    outer(list, list, "+") / 2
    
    #      [,1] [,2] [,3]
    # [1,]   10   15   20
    # [2,]   15   20   25
    # [3,]   20   25   30
    

    【讨论】:

    • 谢谢亚当。完美运行。
    猜你喜欢
    • 2013-01-04
    • 2014-03-15
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 2020-05-23
    • 2017-08-21
    相关资源
    最近更新 更多