[R-SIG-Mac] bug in polychor with R 2.6.0
Ben Bolker
bolker at zoo.ufl.edu
Mon Sep 17 01:15:05 CEST 2007
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]
> 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)
>>
More information about the R-SIG-Mac
mailing list