【问题标题】:Plotting group variable excluding some categories based on condition根据条件绘制排除某些类别的组变量
【发布时间】:2018-11-23 09:20:21
【问题描述】:

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

我用一个例子,用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. 我可以使用其他方法,仅使用分类或直方图上的某些条件吗?

提前致谢!

【问题讨论】:

  • @AnderBiguri:我添加了一个示例。希望这样更容易理解:-)
  • 有些东西我不明白,如果它不在新的分类变量 Learn1_1n_largest 中,这就是为什么显示“二”类别的原因

标签: matlab histogram categorical-data


【解决方案1】:

我找到了第一个问题的解决方案。可以使用 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')

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

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 2011-08-30
    • 2022-06-28
    • 2021-03-27
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多