首页 > 解决方案 > 根据条件绘制排除某些类别的组变量

问题描述

我想绘制一个组变量的直方图。为此,我可以使用分类。

我正在使用一个示例,使用 summary(Group) 来解释:

variable.group={'one','three','four','one','three','four','two','three','four','one','three','four','one','three','four','one','three','four','one','three','four','one','three','four','one','three','four','one','three','four'}
Group=categorical(variable.group)
summary(Group)
figure,histogram(Group),title('Summary Group')

在此处输入图像描述

我也可以tabulate(Group)用来给出这个结果:

Group_tabulated =
  4×3 cell array
    'four'     [10]    [33.3333]
    'one'      [ 9]    [     30]
    'three'    [10]    [33.3333]
    'two'      [ 1]    [ 3.3333]

现在,正如我们在上图中看到的,有一个组发生的次数很少;我想排除该类别以专注于 3 个最重要的类别。

现在在表格上使用条件,我几乎做到了。但我有一个问题,因为我要排除的类别仍在显示......现在只是 0。

Group_tabulated = tabulate(Group)
idx_largest=cell2mat(Group_tabulated(:,2))>3
Group_to_display=Group_tabulated(idx_largest,1)
Learn1_1n_largest=Group(ismember(Group,Group_tabulated(idx_largest,1)))
summary(Learn1_1n_largest)
figure,histogram(Learn1_1n_largest),title('Summary Group largest only')

在此处输入图像描述

2个问题

  1. 我们是否可以使用表格制作解决方案,以便从 Learn1_1n_largest 中排除该类别数据?
  2. 我可以在分类或直方图上使用一些条件来使用不同的方法吗?

提前致谢!

标签: matlabhistogramcategorical-data

解决方案


我找到了第一个问题的解决方案。可以使用 removecats 来删除所有未使用的类别。这很简单,只需不指定分类本身的任何其他内容Learn1_1n_largest=removecats(Learn1_1n_largest)。我的第一个问题的完整解决方案是:

variable.group={'one','three','four','one','three','four','two','three','four','one','three','four','one','three','four','one','three','four', ...
    'one','three','four','one','three','four','one','three','four','one','three','four'}
Group=categorical(variable.group)
summary(Group)
figure,histogram(Group),title('Summary Group')
Group_tabulated = tabulate(Group)
idx_largest=cell2mat(Group_tabulated(:,2))>3
Group_to_display=Group_tabulated(idx_largest,1)
Learn1_1n_largest=Group(ismember(Group,Group_tabulated(idx_largest,1)))
figure,histogram(Learn1_1n_largest),title('Summary Group largest only')
Learn1_1n_largest=removecats(Learn1_1n_largest)
figure,histogram(Learn1_1n_largest),title('Summary Group largest only')

如果有人能解决我的第二个问题,我会很高兴,因为我希望有一个更简单的解决方案,而不必同时使用分类和表格。

谢谢!


推荐阅读