anspiess / propagate

Propagation of Uncertainty
6 stars 3 forks source link

Error in checkTmvArgs when do.sim=TRUE #3

Open DrewGoodfellow opened 4 years ago

DrewGoodfellow commented 4 years ago

Hello,

I've recently updated my R installation to 3.6.1 and I now get the following error when I try to run propagate with do.sim =TRUE:

Error in checkTmvArgs(mean, sigma, lower, upper) : ‘mean’ is not a numeric vector

Here's an example that used to work (taken from https://www.r-bloggers.com/introducing-propagate/ ):

sessionInfo() R version 3.6.1 (2019-07-05) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Ubuntu 14.04.6 LTS

Matrix products: default BLAS: /usr/lib/openblas-base/libblas.so.3 LAPACK: /usr/lib/lapack/liblapack.so.3.0

locale: [1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C LC_TIME=en_GB.UTF-8
[4] LC_COLLATE=en_GB.UTF-8 LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C

attached base packages: [1] stats4 stats graphics grDevices utils datasets methods base

other attached packages: [1] propagate_1.0-6 minpack.lm_1.2-1 ff_2.2-14 bit_1.1-14 Rcpp_1.0.2
[6] tmvtnorm_1.4-10 gmm_1.6-2 sandwich_2.5-0 Matrix_1.2-15 mvtnorm_1.0-8
[11] MASS_7.3-51.4

loaded via a namespace (and not attached): [1] zoo_1.8-4 compiler_3.6.1 tools_3.6.1 grid_3.6.1 lattice_0.20-38

DAT <- data.frame(a = c(5, 0.1), b = c(10, 0.1), x = c(1, 0.1)) EXPR <- expression(a^b*x) res <- propagate(EXPR, DAT) Error in checkTmvArgs(mean, sigma, lower, upper) : ‘mean’ is not a numeric vector

I suspect that something has changed in newer versions of tmvtnorm that has broken compatibility with your package.

Thanks in advance!

Andrew

DrewGoodfellow commented 4 years ago

After looking at this problem again, I've discovered that propagate works if DAT is converted to a matrix in the example above by DAT <- as.matrix(DAT).

I'm still unsure why this fix works and why the bug happens.

Best wishes,

Andrew

shiyun09 commented 3 years ago

After looking at this problem again, I've discovered that propagate works if DAT is converted to a matrix in the example above by DAT <- as.matrix(DAT).

I'm still unsure why this fix works and why the bug happens.

Best wishes,

Andrew

Hi Andrew,

I got the same problem and solved it by your method. Thanks!

Shiyun

anspiess commented 3 years ago

Thanks a bunch, folks! Will fix the error.