如何在 rJava 中表示 NA

How to represent NA in rJava

我有一个 scala 程序,它生成一些要在 R 中使用的时间序列数据。数据值是双精度值,但有一些缺失值,但我不知道我应该如何在我的 scala 程序中表示这些 NA 值?

您可以使用类型选项[A]。例如这篇文章:http://danielwestheide.com/blog/2012/12/19/the-neophytes-guide-to-scala-part-5-the-option-type.html

使用org.rosuda.REngine.REXPDouble.NA向R表明缺少数据。它是 Double.NaN 的一种类型,但与 Java 通常使用的类型不同(因此您必须指定它)。您可以使用org.rosuda.REngine.REXPDouble.isNA 来验证NaN 是R 的缺失数据NaN 还是普通的。

就其价值而言,目前的价值似乎是 0x7ff00000000007a2L,您可以像这样自己将其放入双倍:java.lang.Double.longBitsToDouble(0x7ff00000000007a2L)。不过,使用 REXPDouble.NA 可能更安全。