Convertir texto en variables de tablas a un arreglo categórico
Este ejemplo muestra cómo convertir variables de una tabla de texto a arreglos categorical
. El mismo flujo de trabajo se aplica a las variables de tabla que son arreglos de cadenas y a las variables que son arreglos de celdas de vectores de caracteres.
Cargar datos de muestra y crear una tabla
Cargue los datos de muestra recopilados de 100 pacientes.
load patients
Almacene los datos de los pacientes de Age
, Height
, Weight
, SelfAssessedHealthStatus
y Location
en una tabla. Utilice los identificadores únicos en la variable LastName
como nombres de fila. Para convertir variables que son arreglos de celdas de vectores de caracteres a arreglos de cadenas, utilice la función convertvars
.
T = table(Age,Height,Weight,Smoker,... SelfAssessedHealthStatus,Location,... 'RowNames',LastName); T = convertvars(T,@iscellstr,"string")
T=100×6 table
Age Height Weight Smoker SelfAssessedHealthStatus Location
___ ______ ______ ______ ________________________ ___________________________
Smith 38 71 176 true "Excellent" "County General Hospital"
Johnson 43 69 163 false "Fair" "VA Hospital"
Williams 38 64 131 false "Good" "St. Mary's Medical Center"
Jones 40 67 133 false "Fair" "VA Hospital"
Brown 49 64 119 false "Good" "County General Hospital"
Davis 46 68 142 false "Good" "St. Mary's Medical Center"
Miller 33 64 142 true "Good" "VA Hospital"
Wilson 40 68 180 false "Good" "VA Hospital"
Moore 28 68 183 false "Excellent" "St. Mary's Medical Center"
Taylor 31 66 132 false "Excellent" "County General Hospital"
Anderson 45 68 128 false "Excellent" "County General Hospital"
Thomas 42 66 137 false "Poor" "St. Mary's Medical Center"
Jackson 25 71 174 false "Poor" "VA Hospital"
White 39 72 202 true "Excellent" "VA Hospital"
Harris 36 65 129 false "Good" "St. Mary's Medical Center"
Martin 48 71 181 true "Good" "VA Hospital"
⋮
Convertir variables de tabla de texto a arreglos categóricos
Las variables Location
y SelfAssessedHealthStatus
contienen conjuntos discretos de valores únicos. Cuando una variable contiene un conjunto de valores que pueden considerarse categorías, como ubicaciones o estados, considere convertirlos a una variable categorical
.
Convierta Location
a un arreglo categorical
.
T.Location = categorical(T.Location);
La variable 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
.
T.SelfAssessedHealthStatus = categorical(T.SelfAssessedHealthStatus,... {'Poor','Fair','Good','Excellent'},'Ordinal',true);
Imprimir un resumen
Visualice los tipos de datos, la descripción, las unidades y otras estadísticas descriptivas para cada variable utilizando summary
para resumir la tabla.
format compact
summary(T)
Variables: Age: 100x1 double Values: Min 25 Median 39 Max 50 Height: 100x1 double Values: Min 60 Median 67 Max 72 Weight: 100x1 double Values: Min 111 Median 142.5 Max 202 Smoker: 100x1 logical Values: True 34 False 66 SelfAssessedHealthStatus: 100x1 ordinal categorical Values: Poor 11 Fair 15 Good 40 Excellent 34 Location: 100x1 categorical Values: County General Hospital 39 St. Mary s Medical Center 24 VA Hospital 37
Las variables de tabla SelfAssessedHealthStatus
y Location
son arreglos categorical
. El resumen contiene los recuentos del número de elementos en cada categoría. Por ejemplo, el resumen indica que 11 de los 100 pacientes consideran su salud mala y 34 consideran su salud excelente.
Seleccionar datos basados en categorías
Cree una subtabla, T1
, que contenga la edad, la altura y el peso de todos los pacientes examinados en County General Hospital y que consideraron su salud excelente. Puede crear fácilmente un vector lógico basado en los valores de los arreglos categorical
de Location
y SelfAssessedHealthStatus
.
rows = T.Location=='County General Hospital' & T.SelfAssessedHealthStatus=='Excellent';
rows
es un vector lógico de 100 por 1 con true
(1
) lógico para las filas de la tabla donde la ubicación es County General Hospital y los pacientes consideraron su salud excelente.
Defina el subconjunto de variables.
vars = ["Age","Height","Weight"];
Use paréntesis para crear la subtabla T1
.
T1 = T(rows,vars)
T1=13×3 table
Age Height Weight
___ ______ ______
Smith 38 71 176
Taylor 31 66 132
Anderson 45 68 128
King 30 67 186
Edwards 42 70 158
Rivera 29 63 130
Richardson 30 67 141
Torres 45 70 137
Peterson 32 60 136
Ramirez 48 64 137
Barnes 42 66 194
Butler 38 68 184
Bryant 48 66 134
Dado que los arreglos categorical
ordinales tienen un orden matemático para sus categorías, puede realizar comparaciones elemento por elemento de ellos con operaciones relacionales, como "mayor que" y "menor que".
Cree una subtabla, T2
, de la edad, la altura y el peso de todos los pacientes que consideraron su salud mala o regular.
Primero, defina el subconjunto de filas que desea incluir en la tabla T2
.
rows = T.SelfAssessedHealthStatus<='Fair';
Después, defina el subconjunto de variables que desea incluir en la tabla T2
.
vars = ["Age","Height","Weight"];
Use paréntesis para crear la subtabla T2
.
T2 = T(rows,vars)
T2=26×3 table
Age Height Weight
___ ______ ______
Johnson 43 69 163
Jones 40 67 133
Thomas 42 66 137
Jackson 25 71 174
Garcia 27 69 131
Rodriguez 39 64 117
Lewis 41 62 137
Lee 44 66 146
Hall 25 70 189
Hernandez 36 68 166
Lopez 40 66 137
Gonzalez 35 66 118
Mitchell 39 71 164
Campbell 37 65 135
Parker 30 68 182
Stewart 49 68 170
⋮
Ejemplos relacionados
- Crear tablas y asignarles datos
- Create Categorical Arrays
- Acceder a datos en tablas
- Access Data Using Categorical Arrays