6 votos

Cómo entrada de auto-distancia definida de la función en R?

Quiero saber cómo a la entrada de una auto-distancia definida en R, en el análisis de agrupamiento jerárquico. R implementa sólo algunos predeterminado de distancia de la métrica, por ejemplo "Euclidiana", "Manhattan", etc. Supongamos que quiero a la entrada de una auto-define la distancia '1-cos(x-y)'. Entonces, ¿qué debo hacer?

Escribir una función es, obviamente, una solución. Pero, va a ser bastante complicado, y también difícil de escribir. Por favor me ayude. Soy incapaz de escribir el código.

6voto

William Morgan Puntos 11

hclust() toma distancia de la matriz, que se puede construir a sí mismo, hacer los cálculos en el R o de la lectura de otras partes. como.dist() puede ser usado para convertir una matriz arbitraria en un 'dist' objeto, que es una representación conveniente de una matriz de distancias que hclust() entiende. Obviamente, si su propio distancias ningún sentido es otra cuestión, pero es fácil de probar.

Si desea aplicar una función arbitraria para todos los pares de X e y para obtener una matriz, tener una mirada en el exterior()

0voto

mcmahling Puntos 11

Mi enfoque es escribir la función de distancia de dos vectores y el uso de la aplicar la función para calcular la distancia a los pares de vectores (almacenado en un marco de datos, por ejemplo). Convertir esta matriz simétrica a una dist objeto utilizando como.dist().

hclust() toma un dist objeto como argumento.

Si usted está trazando un mapa de calor, o algo, el suministro de su función personalizada para el distfun argumento invalida el predeterminado.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X