bug in crossprod? (PR#4092)
iwhite@staffmail.ed.ac.uk writes:
# The last line of following code produces a segmentation fault: x <- 1:10 f <- gl(5,2) mns <- tapply(x,f,mean) crossprod(mns) #to get sum of squares of mns. # Of course sum(mns^2) is more straightforward.
Confirmed. Also (and the same thing, I believe)
z <- array(rnorm(5),5) crossprod(z)
[,1] [1,] 1.778181
dimnames(z) <- list(letters[1:5]) z
a b c d e 0.2810906 0.3457800 0.3663940 -1.1312883 0.4068751
crossprod(z)
Program received signal SIGSEGV, Segmentation fault.
0x08094d80 in Rf_duplicate (s=0x0) at
../../../R/src/main/duplicate.c:75
75 switch (TYPEOF(s)) {
I suspect the culprit is in the logic starting at line 610 in
src/main/array.c. ("Yes, x and y have dimnames, but not along the
direction we need them"). I can't quite seem to wrap my mind around it
just now though.
O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907