[R-es] matriz de distancias chi Cuadrado
Hola a todos... saludos cordiales....
Quiero hacer una función que me calcule la matriz de distancias chi
cuadrado, pero obtengo este mensaje de error:
Error en d.chiCol[i, j] = 0 : objeto de tipo 'closure' no es subconjunto
d.chiCol<- function(A)
{
m <- dim(A)[2]
n <- dim(A)[1]
B <- prop.table(A,2)
C <- prop.table(A)
pesos <- apply(C,1,sum)
dchi.Col <- matrix(,m,m)
Ya alguien parece haberlo resuelto antes que lo lea, te hago una sugerencia
(que tal vez no te sirva, pero va igual), cuando haces un par de bucles sobre
una matriz cuadrada puedes hacerlo mas rápido asÃ:
en lugar de :
for (i in 1:m){
for(j in 1:m) {
if(i==j) ...
hacer:
for(i in 1:(m-1)){
d.chiCol[i,i] = 0
for(j in (i+1):m)
dhci.Col[i,j] = ...
dhci.Col[j,i] = ...
}
}
dhci.Col[m,m]=...
de esa manera ganas mucho tiempo en matrices grandes (o en muchas iteraciones)
d.chiCol[i,j]=0
else
x <- (B[,i]-B[,j])^2
val <- x/pesos
dchi.Col[i,j]=sqrt(sum(val))
}
}
dchi.Col
}
Alguien me puede colaborar, gracias.
__________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis!