
60 CHAPTER 3. SCHEDULING
# re t u rn va l u e :
# R matrix , showing a d j u s t e d R−s quared va l u e s ,
# in d e x e d by p r e d i c t o r s e t
mcapr <− function ( x , y , k , ncore s , r e v e r s e=F ,
dyn=F , chunk=1) {
require ( p a r a l l e l )
# add 1 s column t o X
x <− cbind ( 1 , x )
# f i n d X’X, X’Y
xpx <− crossprod ( x , x )
xpy <− crossprod ( x , y )
# ge n er a t e matri x o f p r e d i c t o r s u b s e t s
allcombs <− genall c ombs ( ncol ( x)−1 ,k )
ncombs <− length ( allcombs )
# s e t up t a s k i n d i c e s
t a s k s <− i f ( ! r e v e r s e ) seq ( 1 , ncombs , chunk ) else
seq ( ncombs ,1 , −chunk )
out <− mclapply ( tasks ,