Representar datos categóricos
Este ejemplo muestra cómo representar datos desde un arreglo categórico.
Cargar datos de muestra
Cargue los datos de muestra recopilados de 100 pacientes. Muestre los tipos y tamaños de datos de los arreglos del archivo MAT patients
.
load patients
whos
Name Size Bytes Class Attributes Age 100x1 800 double Diastolic 100x1 800 double Gender 100x1 13012 cell Height 100x1 800 double LastName 100x1 13216 cell Location 100x1 15808 cell SelfAssessedHealthStatus 100x1 13140 cell Smoker 100x1 100 logical Systolic 100x1 800 double Weight 100x1 800 double
Crear arreglos categóricos
La variable del área de trabajo Location
enumera tres centros médicos separados en los que se examinó a los pacientes.
Para acceder a los datos y compararlos con más facilidad, convierta Location
a un arreglo categórico.
Location = categorical(Location);
Resuma el arreglo categórico. El resumen muestra el número de veces que aparece cada categoría en Location
.
summary(Location)
Location: 100×1 categorical County General Hospital 39 St. Mary's Medical Center 24 VA Hospital 37 <undefined> 0
39 pacientes fueron examinados en el County General Hospital, 24 en St. Mary's Medical Center y 37 en el VA Hospital.
La variable del área de trabajo SelfAssessedHealthStatus
contiene cuatro valores únicos: Excellent
, Fair
, Good
y Poor
.
Convierta SelfAssessedHealthStatus
a un arreglo categórico ordinal, de manera que las categorías tengan el orden matemático Poor < Fair < Good < Excellent
.
SelfAssessedHealthStatus = categorical(SelfAssessedHealthStatus, ... ["Poor" "Fair" "Good" "Excellent"], ... Ordinal=true);
Resuma el arreglo categórico, SelfAssessedHealthStatus
.
summary(SelfAssessedHealthStatus)
SelfAssessedHealthStatus: 100×1 ordinal categorical Poor 11 Fair 15 Good 40 Excellent 34 <undefined> 0 Additional statistics: Min Poor Median Good Max Excellent
Representar histograma
Cree una gráfica de barras del histograma directamente desde SelfAssessedHealthStatus
. Este arreglo categórico es un arreglo categórico ordinal. Las categorías tienen el orden Poor
< Fair
< Good
< Excellent
, que determina el orden de las categorías a lo largo del eje x de la gráfica. La función histogram
representa los recuentos de categoría de cada una de las cuatro categorías.
figure
histogram(SelfAssessedHealthStatus)
title("Self Assessed Health Status From 100 Patients")
Cree un histograma de la ubicación del hospital solo para los pacientes que valoraron su salud como Fair
o Poor
.
figure histogram(Location(SelfAssessedHealthStatus <= "Fair")) title("Location of Patients in Fair or Poor Health")
Crear una gráfica circular
Cree una gráfica circular directamente desde un arreglo categórico.
figure
pie(SelfAssessedHealthStatus);
title("Self Assessed Health Status From 100 Patients")
La función pie
acepta el arreglo categórico, SelfAssessedHealthStatus
, y representa una gráfica circular de las cuatro categorías.
Crear una gráfica de Pareto
Cree una gráfica de Pareto a partir de los recuentos de categoría para cada una de las cuatro categorías de SelfAssessedHealthStatus
.
figure
A = countcats(SelfAssessedHealthStatus);
C = categories(SelfAssessedHealthStatus);
pareto(A,C);
title("Self Assessed Health Status From 100 Patients")
El primer argumento de entrada para pareto
debe ser un vector. Si un arreglo categórico es una matriz o un arreglo multidimensional, remodélelo en un vector antes de llamar a countcats
y pareto
.
Crear diagrama de dispersión
Determine si la autoevaluación de la salud está relacionada con las lecturas de la presión sanguínea. Cree un diagrama de dispersión de las lecturas Diastolic
y Systolic
para dos grupos de pacientes.
En primer lugar, cree los arreglos x e y de las lecturas de la presión sanguínea para dos grupos de pacientes. El primer grupo de pacientes consta de aquellos que valoran su propia salud como Poor
o Fair
. El segundo grupo consta de aquellos que valoran su propia salud como Good
o Excellent
.
Puede usar el arreglo categórico, SelfAssessedHealthStatus
, para crear índices lógicos. Utilice los índices lógicos para extraer valores de Diastolic
y Systolic
a diferentes arreglos.
X1 = Diastolic(SelfAssessedHealthStatus <= "Fair"); Y1 = Systolic(SelfAssessedHealthStatus <= "Fair"); X2 = Diastolic(SelfAssessedHealthStatus >= "Good"); Y2 = Systolic(SelfAssessedHealthStatus >= "Good");
X1
e Y1
son arreglos numéricos de 26 por 1 que contienen datos de los pacientes con una salud Poor
o Fair
.
X2
e Y2
son arreglos numéricos de 74 por 1 que contienen datos de los pacientes con una salud Good
o Excellent
.
Cree un diagrama de dispersión de las lecturas de la presión sanguínea para los dos grupos de pacientes. El diagrama no muestra diferencias indicativas entre ambos grupos, que indica, posiblemente, que la presión sanguínea no afecta a la forma en la que estos pacientes valoran su propia salud.
figure h1 = scatter(X1,Y1,"o"); hold on h2 = scatter(X2,Y2,"x"); title("Blood Pressure for Groups of Patients Assessing Self Health"); xlabel("Diastolic (mm Hg)") ylabel("Systolic (mm Hg)") legend("Poor or Fair","Good or Excellent")
Consulte también
categorical
| summary
| countcats
| histogram
| pie
| bar
| rose
| scatter