Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Cálculos en tablas

En este ejemplo se muestra cómo realizar cálculos en tablas.

Las funciones y cada una aplican una función especificada a una tabla, pero muchas otras funciones requieren matrices numéricas o homogéneas como argumentos de entrada.rowfunvarfun Puede extraer datos de variables individuales utilizando la indexación de puntos o de una o más variables utilizando llaves. Los datos extraídos son entonces una matriz que puede utilizar como entrada para otras funciones.

Lea los datos de muestra en la tabla

Leer datos de un archivo de texto separado por comas, en una tabla utilizando la función. contiene puntuaciones de prueba para varios estudiantes.testScores.csvreadtabletestScores.csv Utilice los nombres de los alumnos de la primera columna del archivo de texto como nombres de fila en la tabla.

T = readtable('testScores.csv','ReadRowNames',true)
T=10×4 table
                 Gender     Test1    Test2    Test3
                ________    _____    _____    _____

    HOWARD      'male'       90       87       93  
    WARD        'male'       87       85       83  
    TORRES      'male'       86       85       88  
    PETERSON    'female'     75       80       72  
    GRAY        'female'     89       86       87  
    RAMIREZ     'female'     96       92       98  
    JAMES       'male'       78       75       77  
    WATSON      'female'     91       94       92  
    BROOKS      'female'     86       83       85  
    KELLY       'male'       79       76       82  

es una tabla con 10 filas y cuatro variables.T

Resuma la tabla

Vea el tipo de datos, la descripción, las unidades y otras estadísticas descriptivas para cada variable utilizando la función para resumir la tabla.summary

summary(T)
Variables:      Gender: 10x1 cell array of character vectors      Test1: 10x1 double          Values:              Min          75               Median     86.5               Max          96        Test2: 10x1 double          Values:              Min         75                Median      85                Max         94         Test3: 10x1 double          Values:              Min         72                Median      86                Max         98    

El Resumen contiene la puntuación mínima, mediana y máxima de cada prueba.

Busque el promedio en cada fila

Extraiga los datos de la segunda, tercera y cuarta variables utilizando llaves, busque el promedio de cada fila y guárdela en una nueva variable,.{}TestAvg

T.TestAvg = mean(T{:,2:end},2)
T=10×5 table
                 Gender     Test1    Test2    Test3    TestAvg
                ________    _____    _____    _____    _______

    HOWARD      'male'       90       87       93          90 
    WARD        'male'       87       85       83          85 
    TORRES      'male'       86       85       88      86.333 
    PETERSON    'female'     75       80       72      75.667 
    GRAY        'female'     89       86       87      87.333 
    RAMIREZ     'female'     96       92       98      95.333 
    JAMES       'male'       78       75       77      76.667 
    WATSON      'female'     91       94       92      92.333 
    BROOKS      'female'     86       83       85      84.667 
    KELLY       'male'       79       76       82          79 

Como alternativa, puede usar los nombres de variable o los índices variables para seleccionar el subconjunto de datos.T{:,{'Test1','Test2','Test3'}}T{:,2:4}

Calcular estadísticas mediante la variable de agrupación

Calcule la media y el máximo de por sexo de los estudiantes.TestAvg

varfun(@mean,T,'InputVariables','TestAvg',...        'GroupingVariables','Gender')
ans=2×3 table
     Gender     GroupCount    mean_TestAvg
    ________    __________    ____________

    'female'        5            87.067   
    'male'          5              83.4   

Reemplazar valores de datos

La puntuación máxima para cada prueba es 100. Utilice llaves para extraer los datos de la tabla y convertir las puntuaciones de prueba en una escala de 25 puntos.

T{:,2:end} = T{:,2:end}*25/100
T=10×5 table
                 Gender     Test1    Test2    Test3    TestAvg
                ________    _____    _____    _____    _______

    HOWARD      'male'       22.5    21.75    23.25      22.5 
    WARD        'male'      21.75    21.25    20.75     21.25 
    TORRES      'male'       21.5    21.25       22    21.583 
    PETERSON    'female'    18.75       20       18    18.917 
    GRAY        'female'    22.25     21.5    21.75    21.833 
    RAMIREZ     'female'       24       23     24.5    23.833 
    JAMES       'male'       19.5    18.75    19.25    19.167 
    WATSON      'female'    22.75     23.5       23    23.083 
    BROOKS      'female'     21.5    20.75    21.25    21.167 
    KELLY       'male'      19.75       19     20.5     19.75 

Cambiar nombre de variable

Cambie el nombre de la variable a.TestAvgFinal

T.Properties.VariableNames{end} = 'Final'
T=10×5 table
                 Gender     Test1    Test2    Test3    Final 
                ________    _____    _____    _____    ______

    HOWARD      'male'       22.5    21.75    23.25      22.5
    WARD        'male'      21.75    21.25    20.75     21.25
    TORRES      'male'       21.5    21.25       22    21.583
    PETERSON    'female'    18.75       20       18    18.917
    GRAY        'female'    22.25     21.5    21.75    21.833
    RAMIREZ     'female'       24       23     24.5    23.833
    JAMES       'male'       19.5    18.75    19.25    19.167
    WATSON      'female'    22.75     23.5       23    23.083
    BROOKS      'female'     21.5    20.75    21.25    21.167
    KELLY       'male'      19.75       19     20.5     19.75

Consulte también

| | | | |

Temas relacionados