主要内容

计算表

这个例子展示了如何在表上执行计算。

的函数rowfunvarfun每个函数都将指定的函数应用于表,而许多其他函数需要数字或同质数组作为输入参数。可以使用点索引从单个变量中提取数据,也可以使用花括号从一个或多个变量中提取数据。然后,提取的数据是一个数组,您可以将其用作其他函数的输入。从R2018a开始,您也可以使用groupsummary函数,用于对表中的数据组进行计算。

将样本数据读取到表中

从逗号分隔的文本文件读取数据,testScores.csv,将其转换为表readtable函数。testScores.csv包含几个学生的考试分数。使用文本文件第一列中的学生名作为表中的行名。

T = readtable (“testScores.csv”“ReadRowNames”,真正的)
T =10×4表性别Test1 Test2 Test3  __________ _____ _____ _____ 霍华德{‘男性’}{‘男性’}90 87 93病房87 85 83托雷斯{‘男性’}彼得森{‘女性’}86 85 88 75 80 72灰色{‘女性’}89 86 87拉米雷斯{‘女性’}96 92 98詹姆斯沃森{‘男性’}78 75 77{‘女性’}布鲁克斯{‘女性’}91 94 92 86 83 85凯利{‘男性’}79 76 82

T是一个包含10行和4个变量的表。

总结表

属性可以查看每个变量的数据类型、描述、单位和其他描述性统计信息总结函数来总结表格。

总结(T)
变量:性别:10x1字符向量单元格数组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

摘要包含每个测试的最低、中值和最高分数。

找到每一行的平均值

使用花括号从第二个、第三个和第四个变量中提取数据,{},求每一行的平均值,并将其存储在一个新变量中,TestAvg

T.TestAvg =意味着(T{: 2:结束},2)
T =10×5表性别Test1 Test2 Test3 TestAvg  __________ _____ _____ _____ _______ 霍华德{‘男性’}90 87 93 90病房{‘男性’}87 85 83 85托雷斯{‘男性’}彼得森{‘女性’}86 85 88 86.333 75 80 72 75.667灰色{‘女性’}89 86 87 87.333拉米雷斯{‘女性’}96 92 98 95.333詹姆斯沃森{‘男性’}78 75 77 76.667{‘女性’}91 94 92 92.333 86年布鲁克斯{‘女性’}83 85 84.667 KELLY {'male'} 79 76 82 79

或者,您可以使用变量名,T{:{‘Test1’,‘Test2’,‘Test3}}或者变量指标,T {: 2:4}选择数据的子集。

使用分组变量计算统计

计算的平均值和最大值TestAvg根据学生的性别。首先,使用varfun函数。

varfun (@mean T“数据源”“TestAvg”...“GroupingVariables”“性别”
ans =2×3表性别GroupCount mean_TestAvg  __________ __________ ____________ {' 女性的}5 87.067{‘男性’}5 83.4

从R2018a开始,您也可以使用groupsummary函数对表中的数据组执行计算。的最大值TestAvg为每组学生使用groupsummary

groupsummary (T)“性别”“马克斯”“TestAvg”
ans =2×3表性别GroupCount max_TestAvg  __________ __________ ___________ {' 女性的}5 95.333{‘男性’}5 90

替换数据值

每次考试的最高分数是100分。使用大括号从表格中提取数据,并将测试分数转换为25分。

T T{: 2:结束}={:2:结束}* 25/100
T =10×5表性别Test1 Test2 Test3 TestAvg  __________ _____ _____ _____ _______ 霍华德{‘男性’}22.5 21.75 23.25 22.5病房{‘男性’}21.75 21.25 20.75 21.25托雷斯{‘男性’}21.5 - 21.25 22 21.583彼得森{‘女性’}18.75 20 18 18.917灰色{‘女性’}22.25 21.5 21.75 21.833拉米雷斯{‘女性’}24日23日24.5 - 23.833詹姆斯{‘男性’}19.5 18.75 19.25 19.167沃森{'female'} 19.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

改变变量名

将变量名改为TestAvg最后

T.Properties。VariableNames{结束}=“最后一次”
T =10×5表性别Test1 Test2 Test3决赛  __________ _____ _____ _____ ______ 霍华德{‘男性’}22.5 21.75 23.25 22.5病房{‘男性’}21.75 21.25 20.75 21.25托雷斯{‘男性’}21.5 - 21.25 22 21.583彼得森{‘女性’}18.75 20 18 18.917灰色{‘女性’}22.25 21.5 21.75 21.833拉米雷斯{‘女性’}24日23日24.5 - 23.833詹姆斯{‘男性’}19.5 18.75 19.25 19.167沃森{'female'} 19.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

另请参阅

||||||

相关的话题