It looks intentional and reliable for me, since approx() calls regularize.values() , which calls xy.coords() , which includes this code block:
else if (is.complex(x)) { y <- Im(x) x <- Re(x) xlab <- paste0("Re(", ylab, ")") ylab <- paste0("Im(", ylab, ")") }
after which approx() continues just as if you were passing it the numerical (real / rational) vectors x and y .
Josh o'brien
source share