我一定错过了一些明显的东西:
library(Rmpfr)
list.mpfr <- list(mpfr(10, 128), mpfr(20, 128)) # I'd like to turn this into mpfr(c(10, 20), 128)
test <- c(list.mpfr, recursive=TRUE) # Doesn't work -- should it?
identical(test, list.mpfr) # False -- test is a list of mpfr1 and no longer a list of mpfr
## I'd expect c.mpfr(..., recursive=TRUE) to do the equivalent of c(list(1:5, 8:10), recursive=TRUE)
getAnywhere(c.mpfr)
我有一个返回长度为 1 的 mpfr 的函数。 我使用 mapply(..., simplify=FALSE)
来构建类似于上面示例中的 list.mpfr 的东西。 我想将 length-1 mpfr 对象组合成一个 mpfr 对象(例如,这样我就可以调用 which.max
)。
找到了一个解决方案:
library(Rmpfr)
list.mpfr <- list(mpfr(10, 128), mpfr(20, 128))
desired <- new("mpfr", unlist(list.mpfr))
identical(desired, mpfr(c(10, 20), 128)) # True