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 patientsAlmacene 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
⋮