【问题标题】:Calculate the mean difference within and between groups计算组内和组间的平均差
【发布时间】:2019-10-20 07:48:19
【问题描述】:

我有两组值如下:

x <- as.vector(c(1, 2, 3, 2, 1))
y <- as.vector(c(7, 7, 8, 9, 9))

我正在尝试计算每组中值的平均差以及组间值的平均差。

在这个小例子中,对于 x,平均差异是 (1+2+1+0+1+0+1+1+2+1)/10=10/10=1

对于你来说,它会是 (0+1+2+2+1+2+2+1+1+0)/10=12/10=1.2

在组之间,它将是 (6+6+7+8+8+5+5+6+7+7+4+4+5+6+6+5+5+6+7+7+6+6+7+8+8 )/25=155/25=6.2

我希望有一些方法可以用更简单的代码来做到这一点。

【问题讨论】:

    标签: r statistics mean difference


    【解决方案1】:

    一种可能是:

    xy_diff <- abs(sapply(x, "-", y))
    sum(xy_diff)/(dim(xy_diff)[1]*dim(xy_diff)[2])
    
    [1] 6.2
    
    x_diff <- abs(sapply(x, "-", x))
    x_diff <- x_diff[upper.tri(x_diff)]
    sum(x_diff/length(x_diff))
    
    [1] 1
    
    y_diff <- abs(sapply(y, "-", y))
    y_diff <- y_diff[upper.tri(y_diff)]
    sum(y_diff/length(y_diff))
    
    [1] 1.2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 2019-09-27
      • 2023-04-08
      • 1970-01-01
      相关资源
      最近更新 更多