如何基于公共值从数组中提取值?

时间:2019-06-04 02:53:14

标签: matlab

我正在尝试基于Excel的数据集设置创建pareto图。数据集具有“评论”,“零件”和“编号”三列。注释和数字中的值按常规形式重复,而零件独立。因此,我需要根据零件将它们分组。

我已经能够创建两个pareto图。通过获取唯一的零件编号并计算出现的唯一注释的数量,我已经能够创建注释数量(y轴)和零件(x轴)的图。现在,我一直在苦苦挣扎的零件是通过指定零件的注释数(y轴)乘数字(x轴)来绘制的。

Data = readtable('Example_Dataset.xlsx')
Data = Data{:,:}
part = Data(:,2) %Gets part
number = Data(:,3) %Gets number
comments = Data(:,1) %gets comment

Unique_Part= unique(part,'stable')
b = cellfun(@(x) sum(ismember(part,x)),Unique_Part,'un',0)
Unique_number = unique(number,'stable')
c = cellfun(@(x) sum(ismember(number,x)),Unique_number,'un',0)
Unique_comments = unique(comments,'stable')
comment_type =cell2mat(Unique_comments)
comments_parts = cell2mat(b)
comments_number = cell2mat(c)

figure
pareto(comments_parts,Unique_part)

figure
pareto(comments_number,Unique_number)

此处显示了简化的数据集。应该注意的是,它们的大小不相等,有些仅重复一次,有些则重复很多次。有时零件不是数字。

https://imgur.com/a/V3MxeTD

0 个答案:

没有答案