@@ -41,7 +41,7 @@ pirls <- function(X,y,Zt,Lambdat,thfun,theta,
41
41
if (is.function(family )) family <- family() # ensure family is a list
42
42
43
43
local({
44
- nth <- max(thfun( theta ) )
44
+ nth <- length( theta )
45
45
betaind <- - seq_len(nth ) # indices to drop 1:nth
46
46
linkinv <- family $ linkinv
47
47
variance <- family $ variance
@@ -70,9 +70,9 @@ pirls <- function(X,y,Zt,Lambdat,thfun,theta,
70
70
cvgd <- FALSE
71
71
for (i in 1 : npirls ){
72
72
# update w and muEta
73
- Whalf <- Diagonal(x = sqrt(weights / variance(mu )))
73
+ Whalf <- Diagonal(x = sqrt(weights / variance(mu )))
74
74
# update weighted design matrix
75
- LtZtMWhalf <- LtZt %*% (Diagonal(x = muEta(eta )) %*% Whalf )
75
+ LtZtMWhalf <- LtZt %*% (Diagonal(x = muEta(eta )) %*% Whalf )
76
76
# update Cholesky decomposition
77
77
L <- update(L , LtZtMWhalf , 1 )
78
78
# alternative (more explicit but slower)
@@ -84,7 +84,7 @@ pirls <- function(X,y,Zt,Lambdat,thfun,theta,
84
84
delu <- as.vector(solve(L , LtZtMWhalf %*% wtres - u ))
85
85
if (verbose > 0L ) {
86
86
cat(sprintf(" inc: %12.4g" , delu [1 ]))
87
- nprint <- min(5 ,length(delu ))
87
+ nprint <- min(5 , length(delu ))
88
88
for (j in 2 : nprint ) cat(sprintf(" %12.4g" , delu [j ]))
89
89
cat(" \n " )
90
90
}
0 commit comments