Red de conocimiento informático - Conocimiento informático - Caso de análisis de agrupamiento jerárquico (3)

Caso de análisis de agrupamiento jerárquico (3)

Nota anterior:

Introducción al clustering: haga clic aquí

Caso de análisis de clustering jerárquico (1)

Caso de análisis de clase de clustering jerárquico ( 2)

La obtención de datos de expresión del genoma completo es una tarea con una complejidad computacional extremadamente alta. Debido a las limitaciones del cerebro humano, es imposible solucionar este problema. Sin embargo, al dividir los genes en menos categorías y luego analizarlos, los datos genéticos se pueden procesar a un nivel que sea más comprensible.

El propósito de la agrupación es dividir un grupo de genes de modo que los genes similares se clasifiquen en el mismo grupo y los genes diferentes se clasifiquen en grupos diferentes. Las cuestiones clave a considerar aquí son cómo definir la similitud y cómo tratar los genes categóricos. Aquí, exploraremos el problema de la agrupación de genes utilizando la sensibilidad de dos tipos de genes.

Preparación

Para el agrupamiento jerárquico, utilizamos un conjunto de datos recopilados de ratas de laboratorio.

Paso 1: recopilar y describir los datos

Esta tarea utiliza los conjuntos de datos denominados GSE4051_data y GSE4051_design. Los conjuntos de datos se almacenan en formatos estándar en archivos de formato CSV denominados GSE4051_data.csv y GSE4051_design.csv. Ruta de adquisición de datos: aquí

El conjunto de datos GSE4051_data contiene 29,949 filas de datos y 39 variables. Las variables numéricas son:

El conjunto de datos GSE4051_design contiene 39 filas de datos y 4 variables. Las variables numéricas son: sidNum

Las variables no numéricas son: sidChar; devStage;

Pasos de implementación Los siguientes son detalles de implementación.

Paso 2: Explorar los datos

El paquete RColorBrewer es un paquete R disponible en el programa bine (SAC). Divide un gran problema en partes manejables, opera en cada parte y luego fusiona todas las partes.

Cargue los siguientes paquetes:

Exploremos y comprendamos las relaciones entre variables. Comience importando un archivo CSV llamado GSE4051_data.csv. Almacenamos los datos de este archivo en el marco de datos GSE4051_data:

A continuación, exporte la información del marco de datos GSE4051_data. La función str() devuelve información sobre la estructura GSE4051_data. Muestra brevemente la estructura interna del marco de datos GSE4051_data. max.level especifica el nivel máximo en el que se muestra la cuadrícula.

Los resultados son los siguientes:

A continuación, importamos el archivo CSV llamado GSE4051_design.csv y guardamos sus datos en el marco de datos GSE4051_design:

Salida GSE4051_design La estructura interna del marco de datos.

Los resultados son los siguientes:

Paso 3: Transformar los datos

Para facilitar la etapa de visualización posterior, es necesario estirar cada fila de datos. Esto se debe al hecho de que, según los requisitos actuales, existen brechas de valores absolutos entre diferentes expresiones genéticas, por lo que es necesario ampliar cada fila de datos.

Centrar variables y crear puntuaciones z son dos métodos habituales de análisis de datos. La función de escala centra y estira las columnas de una matriz numérica.

Matriz de transformación. Después de pasar el marco de datos GSE4051_data, use la función t() para transformar el marco de datos.

A continuación, generamos el marco de datos GSE4051_data.

Al configurar Give.attr=FALSE, los atributos de la subestructura no se mostrarán.

Los resultados son los siguientes:

La función round() se utiliza para redondear al entero más cercano. Sólo hay una forma de sintaxis: Y = round(X), donde X puede ser un número, un vector o una matriz, y la salida corresponde.

La función head() devuelve el encabezado de un vector, matriz, tabla, marco de datos o función. La función frame() crea una colección de variables acopladas a un marco de datos y comparte muchas propiedades métricas:

Los resultados son los siguientes:

Paso 4: entrenar el modelo

El siguiente paso es entrenar el modelo. La función dist() se usa para calcular y devolver una matriz de distancia, que se puede usar para calcular la distancia entre filas en una matriz de datos usando una medida de distancia específica. Las medidas de distancia que se pueden utilizar aquí incluyen la distancia euclidiana, la distancia máxima, la distancia de Manhattan, la distancia de Canberra, la distancia binaria o la distancia de Minkowski. Aquí se utiliza la distancia euclidiana. La distancia euclidiana calcula la distancia entre dos vectores, la fórmula es sqrt(sum((x_i-y_i)^2)) . El marco de datos trans_GSE4051_data convertido se utiliza para calcular la distancia. Los resultados del cálculo se almacenan en el marco de datos pair_dist_GSE4051_data.

A continuación, utilice la función interacción() para calcular y devolver el factor desordenado de la interacción entre las variables gType y devStage. Los resultados de los factores desordenados se pasan a la función with() junto con el marco de datos GSE4051_design. Esta función genera un nuevo factor mediante cálculo, que representa la interacción entre las variables gType y devStage:

La función resumen() se utiliza para generar un resumen de los resultados del marco de datos GSE4051_design$group:

Los resultados son los siguientes:

A continuación, la agrupación jerárquica se calcula utilizando varios tipos de unión diferentes.

Utilice la función hclust() para realizar análisis de conglomerados en n objetos diferentes. En la primera etapa, a cada objeto se le asigna su propio grupo. El algoritmo agrega de forma iterativa los dos grupos más similares en cada etapa. La función hclust() requiere que proporcionemos los datos en forma de matriz de distancias.

Usando el método de agrupamiento SINGLE en el primer ejemplo:

Los resultados son los siguientes:

Usando el método de agrupamiento COMPLETO en el segundo ejemplo. El resultado de completar es mostrar el método de agregación utilizado, el método de cálculo de distancia y el número de objetos utilizados:

Los resultados son los siguientes:

En el cuarto ejemplo, el barrio Se utiliza el método de agrupación:

p>

El resultado de llamar a pr.hc.ward es mostrar el método de agregación utilizado, el método de cálculo de la distancia y el número de objetos utilizados:

La función plot() es una función general de dibujo de objetos R.

La primera vez que se llama a la función plot(), el marco de datos pr.hc.single se utiliza como objeto de entrada:

Los resultados son los siguientes:

La segunda vez que se llama a la función plot (), tomando el marco de datos pr.hc.complete como objeto de entrada:

Los resultados son los siguientes: