I think the following is a bug in cancor. When one of the inputs are rank deficient, the output loses dimensions.
Look at the following taken from example(cancor):
> pop <- LifeCycleSavings[, 2:3] > oec <- LifeCycleSavings[, -(2:3)] > cancor(pop, oec) $cor [1] 0.8247966 0.3652762
$xcoef [,1] [,2] pop15 -0.009110856 -0.03622206 pop75 0.048647514 -0.26031158
$ycoef [,1] [,2] [,3] sr 0.0084710221 0.03337935588 -0.005157129776 dpi 0.0001307398 -0.00007588232 0.000004543705 ddpi 0.0041706000 -0.01226789642 0.051883236069
$xcenter pop15 pop75 35.0896 2.2930
$ycenter sr dpi ddpi 9.6710 1106.7584 3.7576
> pop <- sweep(pop, 1, apply(pop, 1, sum), "/") # artificially constructing rank-deficient data.
> cancor(pop, oec)
$cor
[1] 0.8184737
$xcoef [,1] pop15 -2.818801
$ycoef [,1] [,2] [,3] sr 0.0065719475 0.03128130402 -0.01381394682 dpi 0.0001349168 -0.00006333436 0.00002564945 ddpi 0.0036178800 0.00226518493 0.05330614649
$xcenter pop15 pop75 0.92893618 0.07106382
$ycenter sr dpi ddpi 9.6710 1106.7584 3.7576
>
Look at xcoef: The coefficient for pop75 is mising. (I encountered this programming reduced rank regression).
Kjetil
--
Kjetil Halvorsen.
Peace is the most effective weapon of mass construction. -- Mahdi Elmandjra
-- No virus found in this outgoing message. Checked by AVG Anti-Virus.
______________________________________________ R-devel@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-devel