如何从 R 中的 x + 0.0i 等数字中删除虚部

  • 本文关键字:0i 数字 虚部 删除 中的 r
  • 更新时间 :
  • 英文 :


我想这已经在某处回答了,所以提前道歉,但我试图搜索没有运气,所以.....

....在 R 中处理 x + 0.0i 形式的数字的聪明方法是什么?

例如,假设我们有

y <- 1 + 0.0i

所以当然:

y == 1

是真的。那么,强迫 y 成为 1 的最好方法是什么?

编辑:

除非round(Im(y)) == 0,否则我不想丢弃虚构部分,但我希望有一种方法来避免必须显式测试这一点。

想不出比这更好的东西了(是的,令人惊讶的是没有内置的虚构挤压功能......或者也许有人会想出一个)

f <- function(x) {
   if (all(Im(z <- zapsmall(x))==0)) as.numeric(z) else x
}

最新更新