如何计算R的上限和下限?

时间:2011-12-19 15:08:20

标签: r

Formula for calculating the upper and lower limit

我需要使用这个公式来计算下面矢量的上限和下限。请帮忙..

 > a <- c(2150, 2261, 2018, 2217, 2074, 1986, 1662, 2324, 1591, 1700, 1809, 1824, 2026, 2169, 2072, 1463, 1484, 841, 851, 3742, 889, 905, 1203, 967, 1776, 1075, 1031)
 > a
 [1] 2150 2261 2018 2217 2074 1986 1662 2324 1591 1700 1809 1824 2026 2169 2072
 [16] 1463 1484  841  851 3742  889  905 1203  967 1776 1075 1031

2 个答案:

答案 0 :(得分:4)

这只是一个简单的R公式:

UL = mean(a) + 2.66*sum(abs(diff(a)))/length(a)
LL = mean(a) - 2.66*sum(abs(diff(a)))/length(a)

棘手的部分是| X_i - X_(i-1)|所以我们使用了一些内置的R函数:

  • diff给出X_i - X_(i-1)
  • abs给出绝对值

公式的第一部分是平均值,而+/-只是分开。

答案 1 :(得分:2)

 ctrl.limits <- c( LCL = mean(a) - 2.66*sum(abs(diff(a)))/length(a),
                   UCL = mean(a) + 2.66*sum(abs(diff(a)))/length(a) )
#> ctrl.limits
#      LCL       UCL 
# 495.1133 2920.4422 

为什么2.66?它有点复杂但归结为3(在任一方向上指定的标准偏差的数量)乘以从标准Normal到其标准偏差(= 1)的样本大小2的预期范围的比率。 'd2'是样本大小的函数。 E(Ri)= d2(n)σ

(参见www.win.tue.nl/~adibucch/2WS10/SPClecturenotes.pdf的第55页(标记为47)进行推导。)