[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