Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
你能创建一个血压与特定年龄的箱线图吗(MATLAB)_Matlab - Fatal编程技术网

你能创建一个血压与特定年龄的箱线图吗(MATLAB)

你能创建一个血压与特定年龄的箱线图吗(MATLAB),matlab,Matlab,在我的项目中,我使用了一个名为hospital.mat的matlab样本数据集,并尝试创建一个血压与特定年龄段的箱线图(如下所示)。当我试图创建一个箱线图时,我收到一个错误,说矩阵尺寸必须一致。我认为这可能是因为血压数据同时测量了收缩压和舒张压(这很好),或者是因为它收集了所有年龄段患者的完整数据,而我只是在寻找特定年龄段的血压 医院矩阵。年龄为100 x 1倍,医院矩阵。血压为100 x 2倍 load hospital.mat %Sample data provided by matlab

在我的项目中,我使用了一个名为hospital.mat的matlab样本数据集,并尝试创建一个血压与特定年龄段的箱线图(如下所示)。当我试图创建一个箱线图时,我收到一个错误,说矩阵尺寸必须一致。我认为这可能是因为血压数据同时测量了收缩压和舒张压(这很好),或者是因为它收集了所有年龄段患者的完整数据,而我只是在寻找特定年龄段的血压


医院矩阵。年龄为100 x 1倍,医院矩阵。血压为100 x 2倍

load hospital.mat %Sample data provided by matlab
x=hospital.Age;
x(hospital.Age<35,:)=-1;
x(hospital.Age>=35 & hospital.Age<45)=-2;
x(hospital.Age>=45)=-3;
boxplot(hospital.BloodPressure==x(hospital.Age<35,:),x(hospital.Age<35,:));
load hospital.mat%样本数据由matlab提供
x=医院年龄;
x(医院年龄=35岁,医院年龄=45岁)=-3岁;

boxplot(hospital.BloodPressure==x(hospital.Age您可以将设置为分组变量的值存储在数据集中
hospital
boxplot
的第二个参数是分组变量,可以是任何值,因此在您的情况下,这可以是“年龄标签”

我使用了这些标签的
abs
,以确保箱线图的年龄从左到右递增

load hospital.mat %Sample data provided by matlab

x = hospital.Age;
x(hospital.Age<35,:) = -1;
x(hospital.Age>=35 & hospital.Age<45) = -2;
x(hospital.Age>=45) = -3;

% store labels in data set to use as grouping variable
hospital.AgeLabels = x;

% create the figure
figure()
ax(1) = subplot(121);
boxplot(hospital.BloodPressure(:,1), abs(hospital.AgeLabels))
title('BloodPressure 1')

ax(2) = subplot(122);
boxplot(hospital.BloodPressure(:,2), abs(hospital.AgeLabels))
title('BloodPressure 2')

% set meaningfull ticklabels for both subplots
for ii = 1:2
    ax(ii).XTickLabels = {'<35', '>=35 & <45', '>= 45'};
end
load hospital.mat%样本数据由matlab提供
x=医院。年龄;
x(医院年龄=35岁,医院年龄=45岁)=-3岁;
%在数据集中存储标签以用作分组变量
hospital.AgeLabels=x;
%创建图形
图(
ax(1)=子批次(121);
箱线图(医院血压(:,1),abs(医院年龄标签))
标题(“血压1”)
ax(2)=子批次(122);
箱线图(医院血压(:,2),abs(医院年龄标签))
标题(“血压2”)
%为两个子批次设置meaningfull标签
对于ii=1:2
ax(ii).XTickLabels={'=35&=45'};
结束

医院矩阵。年龄是100 x 1倍,医院矩阵。血压是100 x 2倍。谢谢你,我真的很感激!你的工作非常清晰,我很容易理解!