Hola, estoy utilizando la función vglm para calcular el estadísitco de Tarone y me da el siguiente error:
Error en dotFortran(name = "veigen", as.integer(M), as.integer(n), as.double(x), :
NA/NaN/Inf en llamada a una función externa (arg 3)
Alguien tiene idea de a qué se debe este error o como puedo solucionarlo?
El código es el siguiente:
Zvalue=matrix(nrow=100,ncol=M)
pvalue=matrix(nrow=100,ncol=M)
prob=matrix(nrow=100,ncol=M)
rho=matrix(nrow=100,ncol=M)
low=matrix(nrow=100,ncol=M)
tarone=vector(length=M)
sebench=vector(length=M)
for (j in 1:M) {
w=as.numeric(x[j,]<=g)
p=mean(w)
for (l in j0:100) {
k=l+1 #a lo largo de los bloques dependientes
A=vector(length=k) #sj
n11=s%/%k
for (i in 1:k){A[i]=sum(w[((i-1)*n11+1):(i*n11)])}
A[k]=sum(w[((k-1)*n11+1):s])
B=c(rep(n11,k-1),length(w[((k-1)*n11+1):s])) #nj
fit=vglm(cbind(A,B-A)~1,betabinomial)
pmodel=exp(coef(fit)[1])/(1+exp(coef(fit)[1]))
#Tarone statistic:
#p=sum(A)/sum(B)
S=sum((A-p*B)^2)/(p*(1-p))
Zvalue[l,j]=(S-sum(B))/sqrt(2*sum(B*(B-1)))
pvalue[l,j]=1-pnorm(Zvalue[l,j])
prob[l,j]=pmodel
rho[l,j]=exp(coef(fit)[2])/(1+exp(coef(fit)[2]))
low[l,j]=coef(fit)[1]-sqrt(vcov(fit))[1,1]*qnorm(.95)
}
tarone[j]=pvalue[ki-1,j]
sebench[j]=(log(prob[ki-1,j]/(1-prob[ki-1,j]))-low[ki-1,j])/qnorm(.95)
}
Gracias.