如何删除离群值数据分别为15人?

1视图(30天)
你好,有一个美好的时光。
我有15个患者13特征列。后使用rmoutliers命令(删除离群值的数据),它重叠的所有行不同的人,显示36221 * 13。例如,我想知道多少行属于第一个病人和多少行属于第二个病人和……(必须是15的形式单独人* 13列匹配与这些人的标签)。
我把MATLAB代码相关的工作。我不知道我应该什么变化codeand我怎么能确定哪些部分病人数据的纠正吗?。如果有人能帮我,谢谢。
DATA1 = []; B1 = [];
i = 1:15
data1 =负载(strcat (strcat (“公园”num2str(我)),“.ts”));
DATA1 = [DATA1; DATA1];
[B, TF] = rmoutliers (DATA1); B1 = (B1: B);
结束
或者,例如,如果我使用find命令,如果我把数据,它将覆盖所有的行不同的人,如果我使用数据,它只会显示信息15人。我把MATLAB代码相关的工作
temp1 = DATA1 (: 2); temp1(找到(temp1 > 1.6)) = [];
非常感谢。
1评论
杰夫•米勒
杰夫•米勒 2022年6月24日
我看不出你想要做什么。特别是,它没有任何意义,我叫rmoutliers一旦病人1的数据,然后再次用数据的患者1 & 2,然后再次与1,2,3,…这将更有意义使用(如果你想rmoutliers一起看所有的病人的数据)
DATA1 = []; B1 = [];
i = 1:15
data1 =负载(strcat (strcat (“公园”num2str(我)),“.ts”));
DATA1 = [DATA1; DATA1];
结束
[B, TF] = rmoutliers (DATA1);
否则这个(如果你想rmoutliers单独看每个病人的数据)
DATA1 = []; B1 = [];
i = 1:15
data1 =负载(strcat (strcat (“公园”num2str(我)),“.ts”));
[B, TF] = rmoutliers (data1);
DATA1 = (DATA1; B);
结束

登录置评。

接受的答案

杰夫•米勒
杰夫•米勒 2022年6月24日
我想我看到现在的问题。也许这是更好的:
DATA1 = [];
主题= [];
i = 1:15
data1 =负载(strcat (strcat (“公园”num2str(我)),“.ts”));
[B, TF] = rmoutliers (data1);
主题=我*的(大小(B, 1), 1);
DATA1 = (DATA1; B);
主题=[主题;学科);
结束
这个循环结束时,(我)会主题数行。

更多的答案(2)

是MNFD
是MNFD 2022年6月24日
你好亲爱的,谢谢你的回答,但是这段代码的matlab,你推荐我是相同的。它给我一个向量例如3251 * 13或…我的意思是,当我使用rmoutliers命令,最后我想知道例如列第一主题,从1到126列127年到320年的第二主题和....但由于matlab代码我所有的数据坐在一个大矩阵。我不知道数量的行从别人第一主题或减少。再次谢谢。

是MNFD
是MNFD 2022年6月28日
编辑:是MNFD 2022年6月28日
非常感谢亲爱的杰夫·米勒

s manbetx 845


释放

R2019a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!