Matlab table数据类型的常用操作

clear all;
load patients
% 行名,维度名称
% T = table(Age,Height,Weight,'RowName',...
%     LastName,'DimensionNames',["PatientName","PatientData"])
T = table(Age,Height,Weight,'RowName',...
    LastName)
% 表的属性
T.Properties
%
% T.PatientName
% T.PatientData
%表格总结
T_sum = summary(T)
T_sum.Age


% table 的输入元素: 
% 1.var             :输入变量          (数组)
% 2.sz              :预分配的空间大小   (二元素数值向量)
% 3.varTypes        :预分配的变量名类型 (字符向量元胞数组 | 字符串数组)
% 4.VariableNames   :变量名称
% 5.RowNames        :行名称              字符向量元胞数组 | 字符串数组
% 6.DimensionNames  :维度名称            二元素字符向量元胞数组 | 二元素字符串数组

% table 的属性
% 1. DimensionNames — 维度名称 % {'Row','Variables'} (默认) | 二元素字符向量元胞数组 | 二元素字符串数组
T.Properties.DimensionNames
T.Row(1:5)
T.Variables
T.Properties.DimensionNames = ["Patient","Data"];
T.Properties
% 2. RowNames — 行名称 {} (默认) | 字符向量元胞数组 | 字符串数组
% T.Properties.RowNames = string(LastName);
head(T,5)
T(["Smith","Brown"],:)

% 3. Description — 表描述  '' (默认) | 字符向量 | 字符串标量
load patients
T = table(LastName,Age,Height,Weight);
T.LastName = string(T.LastName);
T.Properties.Description = "Simulated patient data";
summary(T)

% 4. UserData — 其他表信息
% [] (默认) | 数组
load patients
T = table(LastName,Age,Height,Weight,Smoker,Systolic,Diastolic);
formula = @(x) x.^2;
T.Properties.UserData = formula;
T.Properties


% 变量元数据

% 1.VariableNames — 变量名称 字符向量元胞数组 | 字符串数组
T = table(["Smith";"Nguyen";"Williams";"Fernandez";"Brown"],[38;43;38;40;49], ...
          [71;69;64;67;64],[176;163;131;133;119])
T.Properties.VariableNames = ["LastName","Age","Height","Weight"]
T.Age
T.Age(1) = 53
% 2.VariableDescriptions — 变量描述 {} (默认) | 字符向量元胞数组 | 字符串数组
load patients
T = table(LastName,Age,Height,Weight,Smoker,Systolic,Diastolic);
T.LastName = string(T.LastName);
T.Properties.VariableDescriptions = ["","","","", ...
                                     "Has the patient ever been a smoker", ...
                                     "Systolic Pressure","Diastolic Pressure"];
summary(T)
% 3.VariableUnits — 变量单位 {} (默认) | 字符向量元胞数组 | 字符串数组
load patients
T = table(LastName,Age,Height,Weight,Smoker,Systolic,Diastolic);
T.LastName = string(T.LastName);
T.Properties.VariableUnits = ["","Yrs","In","Lbs","","mm Hg","mm Hg"];
summary(T)
% 4.VariableContinuity — 状态为连续或离散变量 [] (默认) | 字符向量元胞数组 | 字符串数组

% 5.自定义元数据 
load patients
T = table(LastName,Age,Height,Weight,Smoker,Systolic,Diastolic);
T = addprop(T,["Instrument","ToPlot","OutputFile"],["variable","variable","table"]);
T.Properties
T.Properties.CustomProperties.Instrument = ["","","height rod","scale","","blood pressure cuff","blood pressure cuff"];
T.Properties.CustomProperties.ToPlot = [false false true true false true true];
T.Properties.CustomProperties.OutputFile = 'patientData.csv';
T.Properties

T = rmprop(T,"OutputFile");
T.Properties


%添加数据 T2(1,:) = {75,datetime('now'),"S1"};
%使用行名称访问数据 T('Lee',:)
%T({'Lee','Brown'},:)
% T.('29-May-2019 Blood Pressure Reading') = BloodPressure

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用MATLAB中的表格变量(table)进行数据计算。表格变量是一种灵活的数据结构,可以存储不同类型的数据,而且可以方便地进行数据计算和分析。 下面是一些常用的表格变量数据计算方法: 1. 求和:可以使用sum函数对表格变量中的数值列进行求和。例如,对表格变量T的数值列A进行求和: ``` sum(T.A) ``` 2. 求平均值:可以使用mean函数对表格变量中的数值列进行求平均值。例如,对表格变量T的数值列B进行求平均值: ``` mean(T.B) ``` 3. 求最大值和最小值:可以使用max和min函数对表格变量中的数值列进行求最大值和最小值。例如,对表格变量T的数值列C进行求最大值和最小值: ``` max(T.C) min(T.C) ``` 4. 按列进行数据计算:可以使用varfun函数对表格变量中的每一列进行指定的数据计算。例如,对表格变量T中的所有数值列进行求平均值和标准差: ``` varfun(@mean,T(:,2:end),'InputVariables','Var1','OutputFormat','table') varfun(@std,T(:,2:end),'InputVariables','Var1','OutputFormat','table') ``` 其中,@mean和@std表示要进行的数据计算方法,T(:,2:end)表示要对表格变量中的除第一列(即非数值列)以外的所有列进行计算,'InputVariables','Var1'表示数据计算方法的输入变量为Var1(即每一列的数值数据),'OutputFormat','table'表示将计算结果输出为表格变量。 5. 按行进行数据计算:可以使用rowfun函数对表格变量中的每一行进行指定的数据计算。例如,对表格变量T中的每一行进行求和: ``` rowfun(@sum,T(:,2:end),'OutputFormat','table') ``` 其中,@sum表示要进行的数据计算方法,T(:,2:end)表示要对表格变量中的除第一列(即非数值列)以外的所有列进行计算,'OutputFormat','table'表示将计算结果输出为表格变量。 这些方法只是表格变量数据计算的一部分,MATLAB中还有很多其他的数据计算方法,具体可以查看MATLAB的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落花随败笔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值