使用带条件的特殊循环查找元素数量
Finding of amount of elements by using special cycle with condition
我有带有数字值的简单数据集。例如,x<-c(3,4,6,7,8,4,5,3,4,3,5,6)
。我需要通过这种方式计算元素的数量:我需要找到最少数量的元素,请满足条件:所有元素的第一个 element/sum 应该大于 0,95 或第一个元素加上第二个 element/sum所有元素都应大于 0,95 等等。例如,3/58<0,95; 3+4/58<0.95; 3+4+6/58<0,95 等等。当它大于 0.95 时我应该停止并计算我使用的 frm 数据集的元素数。我该怎么做?
min(which(cumsum(x)/sum(x) > 0.95))
#[1] 12
这给出了 x
中哪个元素的累计总和超过了 x
总数的 95%。
在这种情况下,x
的总数是 58,其中 95% 是 55.1。在x
的第11个元素,累计总和只有58-6 = 52,所以你需要所有12个元素总和超过55.1。
我有带有数字值的简单数据集。例如,x<-c(3,4,6,7,8,4,5,3,4,3,5,6)
。我需要通过这种方式计算元素的数量:我需要找到最少数量的元素,请满足条件:所有元素的第一个 element/sum 应该大于 0,95 或第一个元素加上第二个 element/sum所有元素都应大于 0,95 等等。例如,3/58<0,95; 3+4/58<0.95; 3+4+6/58<0,95 等等。当它大于 0.95 时我应该停止并计算我使用的 frm 数据集的元素数。我该怎么做?
min(which(cumsum(x)/sum(x) > 0.95))
#[1] 12
这给出了 x
中哪个元素的累计总和超过了 x
总数的 95%。
在这种情况下,x
的总数是 58,其中 95% 是 55.1。在x
的第11个元素,累计总和只有58-6 = 52,所以你需要所有12个元素总和超过55.1。