独特元素的价值

value from unique elements

我正在用 R 编写 QC 程序来处理来自报告其自身错误代码的仪器的数据。这些代码被报告为位值,所以

0

表示"all OK",而:-

1, 2, 4, 8, 16, 32, 64, 128

每个代表一个独特的错误。多个错误可能同时发生,在这种情况下,将代码相加得到一个新数字,例如:-

error "2" + error "32" = code "34"

并且因为这些总和都是唯一的,所以任何给定的代码值都可以分解为其组成错误。我正在寻找一种方法来编程识别这些代码中的错误。我正在努力寻找一种方法,但我能想到的一切都涉及查找表或一大堆循环......这两种方法看起来都不是很优雅。

我想知道是否已经存在 R 函数来执行此操作,而不是重新发明轮子。

有没有人遇到过这种问题?

您可以将数字转换为位,并使用该表示来查找错误。

2^(which(intToBits(34)==1)-1)

returns

2 32

希望对您有所帮助!