Representar datos categóricos
Este ejemplo muestra cómo representar datos desde un arreglo categorical
.
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 11412 cell Height 100x1 800 double LastName 100x1 11616 cell Location 100x1 14208 cell SelfAssessedHealthStatus 100x1 11540 cell Smoker 100x1 100 logical Systolic 100x1 800 double Weight 100x1 800 double
Crear arreglos categóricos
La variable Location
del área de trabajo 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 categorical
.
Location = categorical(Location);
Resuma el arreglo categorical
. El resumen muestra el número de veces que aparece cada categoría en Location
.
summary(Location)
County General Hospital 39 St. Mary's Medical Center 24 VA Hospital 37
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 categorical
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 categorical
SelfAssessedHealthStatus
.
summary(SelfAssessedHealthStatus)
Poor 11 Fair 15 Good 40 Excellent 34
Representar histograma
Cree una gráfica de barras histograma directamente desde SelfAssessedHealthStatus
. Este arreglo categorical
es un arreglo categorical
ordinal. Las categorías tienen el orden Poor
< Fair
< Good
< Excellent
, que determina el orden de las categorías en todo el 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 categorical
.
figure
pie(SelfAssessedHealthStatus);
title("Self Assessed Health Status From 100 Patients")
La función pie
acepta el arreglo categorical
SelfAssessedHealthStatus
y representa una gráfica circular de cuatro categorías.
Crear una gráfica de Pareto
Cree una gráfica 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 categorical
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 está formado por aquellos que valoran su propia salud como Poor
o Fair
. El segundo grupo está formado por aquellos que valoran su propia salud como Good
o Excellent
.
Puede usar el arreglo categorical
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, lo 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