我想这已经在某处回答了,所以提前道歉,但我试图搜索没有运气,所以.....
....在 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
}