编程包括不等式(R)

时间:2018-05-20 10:50:59

标签: r inequality

这是我所做的,给定h = 5并得到ARL = 2.5的值。

C=[1,5,8,9,7,8,1,2,5,5]
h=5
n=10
ooc=C>h
lenOOC = sum(ooc)
lenOOC
>4
p=lenOOC/n
p
>0.4
ARL=1/p
ARL
>2.5

但现在我需要给出ARL的值并计算h =的值? 例如,使用相同的C数据集。

ARL=1.428571
n=10
lenOOC=n/ARL
lenOOC
>7...

以及如何继续获取h的值?给定ooc=C>h

希望大家都明白我想问的是什么.. 谢谢你的帮助.. =]]

1 个答案:

答案 0 :(得分:0)

lenOOC=n/ARL你想要h lenOOC = sum(C>h)。您希望找到一个数字h,以便lenOOC的数字严格大于h。这与n - lenOOC小于或等于h相同,因此您需要n - lenOOC最大数字。只需在C中对数字进行排序,然后选择n - lenOOC最大数字。

C=c(1,5,8,9,7,8,1,2,5,5)
ARL=1.428571
n=10
lenOOC=n/ARL
sort(C)[n - round(lenOOC)]
[1] 2

所以h = 2。

但请注意,这不适用于ARL的所有值。如果我们尝试ARL = 10/9 = 1.1111111怎么办? 这会给出

ARL=1.111111
lenOOC=n/ARL
sort(C)[n - round(lenOOC)]
[1] 1

但是h = 1实际上会给出ARL = 1.25 没有数字会给出ARL = 1.111111。上述方法仅适用于ARL的可能值。