我想这已经在某个地方得到了解答,所以提前道歉,但我试着没有运气搜索,所以......
....在R中处理x + 0.0i形式的数字的智能方法是什么?
例如假设我们有
y <- 1 + 0.0i
当然:
y == 1
是真的。那么强迫你成为1的最佳方式是什么呢?
修改
除非我round(Im(y)) == 0
,否则我不想丢弃虚部,但我希望有办法避免明确地测试它。
答案 0 :(得分:3)
想不出比这更好的东西(是的,令人惊讶的是,没有一个内置的想象 - 挤压功能......或者可能有人会想出一个)
f <- function(x) {
if (all(Im(z <- zapsmall(x))==0)) as.numeric(z) else x
}