我想根据已知的实验误差确定观测值的数值范围。
例如,假设我的观测值为 790.77
,实验误差为 10ppm
(即 +/-10/1e6)。这意味着该数字实际上在 790.76-790.78 之间。
如果观测值为 1254.1,则范围为 1254.0-1254.2。同样,如果观测值为 12.500,则范围为 12.499-12.501。
我一直在尝试想出一种在 R 中执行此操作的简单方法,但这并不容易,因为 R 倾向于舍入 0(例如 12.500 变为 12.5)。
有什么想法吗?
10ppm 的示例:
790.77 => 790.76-790.78
1254.1 => 1254.0-1254.2
12.5 => 12.499-12.501
790153 => 790143-790163
最佳答案
我将添加此作为答案,因为它似乎会生成您想要的输出,但我承认我不太遵循其基本原理......
x <- c(790.77,1254.1,12.5,790153)
m <- 10 ^ (6 - floor(log10(x)) - 1)
(m*x - 10) / m
(m*x + 10) / m
...我猜,其中 6
会根据您执行的是百万分之一还是十亿分之几而变化。
关于r - 在 R 中获取百万分之几的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37602358/