Está en la página 1de 4

Visualizando relaciones grupales

Las visualizaciones pude pueden ayudar a identificar diferentes comportamientos dentro de los datos
agrupados. Los siguientes ejemplos utilizan técnicas de visualización comunes para datos agrupados.

load patients
data = table(Age,Gender,Height,Weight,Smoker,SelfAssessedHealthStatus,Systolic,Diastolic);
clearvars -except data

Tenga en cuenta que se comvertira Gender e una variable tipo categorical sin orden implícito, mientras que
SelfAssessedHealthStatus en una variable ordinal categorical ordenada de "Poor" a "Excellent".

data.Gender = categorical(data.Gender);
data.SelfAssessedHealthStatus = categorical(data.SelfAssessedHealthStatus,{'Poor','Fair','Good'

Generar un mapa de calor de self-assessed health y el status de smoker.


En una clase anterior, se demostró que, de forma algo contraintuitiva, aquellos que pacientes que calificaron
su propia salud como "Good" o "Excellent" tenían una presión arterial más alta en promedio que aquellos
que calificaron su salud regular o mala. Tambien se demostró que los fumadores tienen una presión arterial
significativamente más alta que los no fumadores.

groupsummary(data,'SelfAssessedHealthStatus','mean', {'Systolic','Diastolic'})

ans = 4×4 table


SelfAssessedHealthStatus GroupCount mean_Systolic mean_Diastolic

1 Poor 11 122.4545 81.8182


2 Fair 15 120.3333 82.8667
3 Good 40 124.0000 83.2500
4 Excellent 34 122.5294 83.0294

groupsummary(data,'Smoker','mean',{'Systolic','Diastolic'})

ans = 2×4 table


Smoker GroupCount mean_Systolic mean_Diastolic

1 0 66 119.3939 79.3788
2 1 34 129.3529 89.9118

Es natural preguntarse cómo los fumadores califican su propia salud y, en particular, si un alto número de
fumadores que califican su salud favorablemente podría ser la razón del aumento presión arterial en esos
grupos. Ejecute el código a continuación para explorar estas preguntas.

• Se puede obtener una tabla de los recuentos crudos para fumadores vs no fumadores desglosados
por estado de salud utilizando la función de tabla cruzada (crosstab) como se muestra a continuación.
Tenga en cuenta que las filas y columnas se ordenan aumentando el número de categoría, que es Poor
Excellent para el estado de salud y Nonsmoker Smoker para el estado de fumador.

1
crosstab(data.SelfAssessedHealthStatus,data.Smoker)

ans = 4×2
8 3
10 5
24 16
24 10

Por último, la misma información de la tabulación cruzada se puede generar y transmitir visualmente utilizando
la función de mapa de calor heatmap. Antes de generar el mapa de calor, la variable 'Smoker' sera convertida
en categórica para mejorar el etiquetado visual.

data.Smoker = categorical(data.Smoker,[false,true],{'Nonsmoker','Smoker'});
heatmap(data,'Smoker','SelfAssessedHealthStatus');

Los mapas de calor son especialmente útiles para identificar grupos sobre y subrepresentados en sus datos
que pueden sesgar el análisis y producir resultados engañosos. De los resultados anteriores, está claro que el
grupo de estado de salud con el mayor porcentaje de fumadores es "Good", que, como era de esperar, es el
grupo con la presión arterial media más alta.

Genere un diagrama de dispersión utilizando datos agrupados


Los diagramas de dispersión (Scatter plots) pueden ser muy útiles al explorar posibles relaciones entre
variables. Sin embargo, algunas relaciones solo pueden mantenerse para ciertos grupos, o el tipo de relación
o los parámetros pueden cambiar por grupo. Estas sutilezas son difíciles de determinar solo desde el diagrama

2
de dispersión, y en estos casos es útil agregar información de grupo al diagrama de dispersión. Ejecute el
siguiente código para trazar Diastolic vs Weight agrupados por género utilizando la función gscatter.

gscatter(data.Weight,data.Diastolic,data.Gender);
xlabel('Weight');
ylabel('Diastolic')

Generar una matriz de diagramas de dispersión usando una variable de


agrupación
Si está explorando datos con una gran cantidad de variables, se puede generar un diagrama de dispersión
agrupado para múltiples combinaciones de variables simultáneamente usando la función gplotmatrix. Utilice el
siguiente control (Drop Down) para seleccionar una variable de agrupación y generar una matriz de diagramas
de dispersión agrupada. Los argumentos de entrada adicionales se proporcionan a gplotmatrix para agregar
nombres de variables al gráfico para una mayor claridad.

grp = data.Smoker;
gplotmatrix([data.Age,data.Weight,data.Height],[data.Systolic,data.Diastolic],grp,...
[],[],[],[],[],{'Age','Weight','Height'},{'Systolic','Diastolic'})

3
4

También podría gustarte