用随机生成的数字替换 NA你好,
我对 JMP 非常陌生,我正在处理测量元素浓度的数据集,其中有一些标记为“ND”的未检测到分散在整个数据集中。 我被指示用从均匀分布中随机抽取的值替换所有 ND
通过两点校准在 0 和每日检测限 (LOD) 之间进行调整。 我有每个元素的各种 LOD 值,但我只是遇到了实现随机数生成以代替 ND 的问题。
任何意见是极大的赞赏!
基础数据分析和建模数据混合和清理数据探索和可视化视窗回复:用随机生成的数字替换 NA欢迎来到社区。这是一个小脚本,将向您展示一种将 NA 值更改为随机值的方法。
Names Default To Here( 1 );
LOD = 99; // Change to be the actual LOD value
randomMean = Mean( 0, LOD );
randomSTD = (LOD - randomMean) / 3;
col = "Age"; // Change to the actual column name
For Each Row(
If( As Column( col ) == "NA",
randomVal = LOD + 1; // Set the target value outside of the acceptable range
While( 0 < randomVal | randomVal > LOD, randomVal = Random Normal( randomMean, randomSTD ) );
As Column( col ) = Char( randomVal );
)
);
// Convert column to numeric
Column( col ) << data type( numeric ) << modeling type( continuous );
回复:用随机生成的数字替换 NA在实现您的想法时,您可以期待其他人的大力帮助。 我想首先解决该方法的有效性。 该计划是众多计划之一特别指定没有严格或理论支持的方法。 它会使答案产生偏差。 看起来从随机均匀分布 [0...LOD] 中选择替换值可以防止偏差。 它不会。
一种有原则的、严格的方法是将 LOD 作为左删失观察(即真实值的上限)并使用最大似然估计进行分析。 JMP 并未提供所有内容的 MLE,但它为许多分析提供了 MLE。 您计划对这些数据进行什么样的分析?