bug in polychor with R 2.6.0
Ben,
At 7:15 PM -0400 9/16/07, Ben Bolker wrote:
Has anyone noticed that the problem (whatever it is) seems to occur in code from the included mvtnorm package (specifically the guts of the mvt() function), *not* the polycor package? [cc'd to mvtnorm package maintainer]
At least that solves the polychor problem. You are right. I tried it with just the mvtnorm package and the error occurs. Error trace follows:
sessionInfo()
R version 2.6.0 alpha (2007-09-15 r42871) i386-apple-darwin8.10.1 locale: en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] mvtnorm_0.8-1
example(pmvnorm)
pmvnrm> n <- 5
pmvnrm> mean <- rep(0, 5)
pmvnrm> lower <- rep(-1, 5)
pmvnrm> upper <- rep(3, 5)
pmvnrm> corr <- diag(5)
pmvnrm> corr[lower.tri(corr)] <- 0.5
pmvnrm> corr[upper.tri(corr)] <- 0.5
pmvnrm> prob <- pmvnorm(lower, upper, mean, corr)
*** caught bus error ***
address 0x0, cause 'non-existent physical address'
Traceback:
1: .Fortran("mvtdst", N = as.integer(n), NU = as.integer(df), LOWER
= as.double(lower), UPPER = as.double(upper), INFIN =
as.integer(infin), CORREL = as.double(corrF), DELTA =
as.double(delta), MAXPTS = as.integer(maxpts), ABSEPS =
as.double(abseps), RELEPS = as.double(releps), error =
as.double(error), value = as.double(value), inform =
as.integer(inform), PACKAGE = "mvtnorm")
2: mvt(lower = lower, upper = upper, df = 0, corr = corr, delta =
mean, maxpts = maxpts, abseps = abseps, releps = releps)
3: pmvnorm(lower, upper, mean, corr)
4: eval.with.vis(expr, envir, enclos)
5: eval.with.vis(ei, envir)
6: source(zfile, local, echo = echo, prompt.echo =
paste(prompt.prefix, getOption("prompt"), sep = ""),
continue.echo = paste(prompt.prefix, getOption("continue"), sep =
""), verbose = verbose, max.deparse.length = Inf, encoding =
encoding, skip.echo = skips)
7: example(pmvnorm)
Bill
On Sep 15, 2007, at 10:49 AM, William Revelle wrote:
John,
I have been testing out R2.6.0 alpha to see if my psych package
works. I am running the R Gui for the Mac.
There seems to be a problem with the polychor function in your
polycor package. I think this might be a general problem with R
2.6.0 alpha but I am not sure. I am copying the R mac list to see
if this is a general problem with the alpha gui.
Bill
From a clean start
[Workspace restored from /Volumes/WR/bill/.RData]
version
_ platform i386-apple-darwin8.10.1 arch i386 os darwin8.10.1 system i386, darwin8.10.1 status alpha major 2 minor 6.0 year 2007 month 09 day 14 svn rev 42851 language R version.string R version 2.6.0 alpha (2007-09-14 r42851)
library(polycor)
Loading required package: mvtnorm
?polychor #to get the help file with the following demo set.seed(12345) data <- rmvnorm(1000, c(0, 0), matrix(c(1, .5, .5, 1), 2, 2)) x <- data[,1] y <- data[,2] cor(x, y) # sample correlation
[1] 0.5285446
x <- cut(x, c(-Inf, .75, Inf)) y <- cut(y, c(-Inf, -1, .5, 1.5, Inf)) polychor(x, y) # 2-step estimate
*** caught bus error ***
address 0x0, cause 'non-existent physical address'
Traceback:
1: .Fortran("mvtdst", N = as.integer(n), NU = as.integer(df), LOWER
= as.double(lower), UPPER = as.double(upper), INFIN =
as.integer(infin), CORREL = as.double(corrF), DELTA =
as.double(delta), MAXPTS = as.integer(maxpts), ABSEPS =
as.double(abseps), RELEPS = as.double(releps), error =
as.double(error), value = as.double(value), inform =
as.integer(inform), PACKAGE = "mvtnorm")
2: mvt(lower = lower, upper = upper, df = 0, corr = corr, delta =
mean, maxpts = maxpts, abseps = abseps, releps = releps)
3: pmvnorm(lower = c(row.cuts[i], col.cuts[j]), upper = c(row.cuts[i
+ 1], col.cuts[j + 1]), corr = R)
4: binBvn(rho, row.cuts, col.cuts)
5: f(arg, ...)
6: function (arg) f(arg, ...)(-0.23606797749979)
7: optimise(f, interval = c(-1, 1))
8: polychor(x, y)
William Revelle http://personality-project.org/revelle.html Professor http://personality-project.org/personality.html Department of Psychology http://www.wcas.northwestern.edu/psych/ Northwestern University http://www.northwestern.edu/ Use R for statistics: http://personality-project.org/r