struct2table
Convertir un arreglo de estructuras a una tabla
Descripción
convierte un arreglo de estructuras a una tabla. Cada campo de la estructura de entrada se convierte en una variable en la tabla de salida.T
= struct2table(S
)
Si la entrada es una estructura escalar con
n
campos, los cuales tienen todosm
filas, la salida es una tabla dem
porn
.Si la entrada es un arreglo de estructuras de
m
por1
o de1
porm
conn
campos, la salida es una tabla dem
porn
.
crea una tabla a partir de un arreglo de estructuras, con opciones adicionales especificadas por uno o más argumentos T
= struct2table(S
,Name,Value
)Name,Value
.
Por ejemplo, puede especificar nombres de filas para incluirlos en la tabla.
Ejemplos
Convierta una estructura escalar a una tabla utilizando las opciones predeterminadas.
Cree un arreglo de estructuras, S
.
S.Name = ["Chang";"Brown";"Ruiz"]; S.Smoker = ["Y";"N";"Y"]; S.SystolicBP = [124;122;130]; S.DiastolicBP = [93;80;92];
La estructura escalar, S
, tiene cuatro campos, cada uno con tres filas.
Convierta el arreglo de estructuras en una tabla.
T = struct2table(S)
T=3×4 table
Name Smoker SystolicBP DiastolicBP
_______ ______ __________ ___________
"Chang" "Y" 124 93
"Brown" "N" 122 80
"Ruiz" "Y" 130 92
Los nombres de los campos de estructura de S
se convierten en los nombres de las variables en la tabla de salida. El tamaño de T
es de 3 por 4.
Cambie Name
de una variable a nombres de fila modificando la propiedad de la tabla, T.Properties.RowNames
, y eliminando la variable Name
.
T.Properties.RowNames = T.Name; T.Name = []; T
T=3×3 table
Smoker SystolicBP DiastolicBP
______ __________ ___________
Chang "Y" 124 93
Brown "N" 122 80
Ruiz "Y" 130 92
Cree un arreglo de estructuras no escalar, S
.
S(1,1).Name = "Chang"; S(1,1).Smoker = "Y"; S(1,1).SystolicBP = 124; S(1,1).DiastolicBP = 93; S(2,1).Name = "Brown"; S(2,1).Smoker = "N"; S(2,1).SystolicBP = 122; S(2,1).DiastolicBP = 80; S(3,1).Name = "Ruiz"; S(3,1).Smoker = "Y"; S(3,1).SystolicBP = 130; S(3,1).DiastolicBP = 92; S
S=3×1 struct array with fields:
Name
Smoker
SystolicBP
DiastolicBP
S
es un arreglo de estructuras de 3 por 1 con cuatro campos.
Convierta el arreglo de estructuras en una tabla.
T = struct2table(S)
T=3×4 table
Name Smoker SystolicBP DiastolicBP
_______ ______ __________ ___________
"Chang" "Y" 124 93
"Brown" "N" 122 80
"Ruiz" "Y" 130 92
Los nombres de los campos de estructura de S
se convierten en los nombres de las variables en la tabla de salida. El tamaño de T
es de 3 por 4.
Utilice "AsArray",true
para crear una tabla a partir de una estructura escalar cuyos campos tengan diferentes números de filas.
Cree una estructura escalar, S
, con los campos name
, billing
y test
.
S.name = "John Doe";
S.billing = 127.00;
S.test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205]
S = struct with fields:
name: "John Doe"
billing: 127
test: [3×3 double]
Los campos tienen diferentes números de filas. Por lo tanto, no puede utilizar struct2table(S)
, que utiliza "AsArray",false
de forma predeterminada.
Trate la estructura escalar como un arreglo y conviértala en una tabla.
T = struct2table(S,"AsArray",true)
T=1×3 table
name billing test
__________ _______ ____________
"John Doe" 127 {3×3 double}
T
contiene una fila.
Argumentos de entrada
Arreglo de entrada, especificado como una estructura.
Argumentos de par nombre-valor
Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN
, donde Name
es el nombre del argumento y Value
es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.
En las versiones anteriores a R2021a, utilice comas para separar cada nombre y valor, y encierre Name
entre comillas.
Ejemplo: "RowNames",["row1","row2","row3"]
utiliza los nombres de fila row1
, row2
y row3
para la tabla T
.
Nombres de fila, especificados como un arreglo de celdas de vectores de caracteres o un arreglo de cadenas cuyos elementos no están vacíos y son distintos. El número de nombres de fila debe ser igual al número de filas del arreglo de entrada.
Los nombres de fila pueden tener cualquier carácter Unicode®, incluidos espacios y caracteres no ASCII, excepto ':'
.
Si especifica nombres de fila que tienen espacios en blanco iniciales o finales, struct2table
los elimina de los nombres de fila.
Desde R2021a
Nombres de dimensiones, especificados como un arreglo de celdas de dos elementos de vectores de caracteres o un arreglo de cadenas de dos elementos cuyos elementos no están vacíos y son distintos.
Los nombres de las dimensiones pueden tener cualquier carácter Unicode, incluidos espacios y caracteres no ASCII. No obstante, un nombre de dimensión no puede coincidir con ningún nombre de variable de tabla ni con los nombres reservados 'Properties'
, 'RowNames'
, 'VariableNames'
o ':'
.
Como alternativa, en todas las versiones se pueden especificar nombres de dimensiones estableciendo la propiedad DimensionNames
de la tabla.
Indicador para tratar la entrada como un arreglo de estructuras, especificado como un 1
(true
) o 0
(false
) numérico o lógico.
Valor predeterminado si la entrada es un arreglo de estructuras no escalar | Convierte un arreglo de estructuras a una tabla con una fila para cada estructura y una variable para cada campo del arreglo de estructuras. Los campos pueden tener diferentes tamaños. Si los valores del campo
|
Valor predeterminado si la entrada es una estructura escalar | Convierta una estructura escalar con Ejemplo: S.a = [1;2;3] S.b = [4 5;6 7;8 9] T = struct2table(S) T = 3×2 table a b _ ______ 1 4 5 2 6 7 3 8 9 |
Argumentos de salida
Tabla de salida, devuelta como tabla. La tabla puede almacenar metadatos como descripciones, unidades de variables, nombres de variables y nombres de filas. Para obtener más información, consulte la sección Propiedades de table
.
Capacidades ampliadas
Notas y limitaciones de uso:
Para obtener más información, consulte Code Generation for Tables (MATLAB Coder) y Table Limitations for Code Generation (MATLAB Coder).
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Historial de versiones
Introducido en R2013b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)