中值抛光软件

机器算法验证 中位数
2022-04-11 06:44:28

是否有任何易于使用的软件用于 Tukey 中值抛光具有大量缺失值的行和列?

1个回答

R 内置了 medpolish,它可以处理某种程度的缺失:

 > a  # some data
          [,1]     [,2]     [,3]     [,4]
 [1,] 32.45884 29.50403 38.54330 30.06207
 [2,] 27.92059 25.00838       NA 13.93309
 [3,] 37.91911 23.98091 36.00139 27.73731
 [4,] 29.20283 29.68059 18.41809 29.92471
 [5,]       NA 30.98312 23.55309 22.63105
 [6,] 24.96472 33.52443 24.85243 37.43364

medpolish 命令很简单:

 > medpolish(a,na.rm=TRUE)    # Pretty easy to use
 1 : 86.06071 
 Final: 85.59585 

 Median Polish Results (Dataset: "a")

 Overall: 29.01548 

 Row Effects:
 [1]  2.2356134 -4.0668144  3.4436953 -0.1729532 -5.2644925  0.1729532

 Column Effects:
 [1]  1.2077470  0.4488938 -0.1978902 -1.1544723

 Residuals:
          [,1]     [,2]     [,3]      [,4]
 [1,]  0.00000 -2.19595   7.4901 -0.034543
 [2,]  1.76418 -0.38917       NA -9.861103
 [3,]  4.25219 -8.92715   3.7401 -3.567392
 [4,] -0.84743  0.38917 -10.2265  2.236662
 [5,]       NA  6.78324   0.0000  0.034543
 [6,] -5.43146  3.88711  -4.1381  9.399689

顺便说一句,这在电子表格中并不是特别难做到(但请注意,您通常会对其进行迭代;尽管如此,它还是很可行的)。

但是,如果您确实有大量缺失,您可能无法估计所有行和列的影响(例如,如果一个完全缺失)

编辑:正如 whuber 在下面指出的,很多缺失可能会导致偏差或不收敛的问题