添加和删​​除类别级别

该示例示出了如何从名义或有序阵列添加和下降的水平。

注意

公称序数词不推荐组数据类型。代表有序和无序的离散,非数值数据,使用分类数组(MATLAB)数据类型来代替。

加载样本数据。

加载('examgrades'

数组等级包含考试的分数为0至100的五个考试的学生120的样品。

创建一个序阵列。

分配字母等级为每个学生使用这些类别的每个测试。

等级范围 字母等级
100 A +
90-99 一个
80-89
70-79 C
60-69 d

信=序(等级,{'d''C''B''一个''A +'},[]...[60,70,80,90,100,100]);getlevels(信)
ANS = d C B A A +

有五个等级类别,按照指定的顺序d<C<<一个<A +

检查未定义的类别。

检查是否存在是不属于五个字母类的任何考试成绩。

任何(isundefined(字母))
ANS = 1 0 1 1 0

回想一下,有五个考试成绩为每个学生。前面的命令返回每个五个考试的逻辑值,指示是否有任何的分数<未定义>。有分数是第一,第三和第四考试<未定义>,就是缺少一个类别级别。

识别未定义的类别的元素。

你可以找到那些使用没有一个字母等级考试成绩isundefined逻辑条件。

等级(isundefined(字母))
ANS = 55 59 58 59 54 57 56 59 59 50 59 52

考试成绩是在50年代没有一个字母等级。

添加一个新的类别。

将是所有得分<未定义>在标有一个新的类别D-

信(isundefined(字母))='D-';getlevels(信)
警告:范畴级“D-”被添加。>在在55 ANS = d C B A A + D- categorical.subsasgn
序变量,,具有添加到末尾的新类别。

重新排序类别水平。

重新排序的类别,这样D-<d

信= reorderlevels(字母,{'D-''d''C''B''一个''A +'});getlevels(信)
ANS = D- d C B A A +

比较的元素。

现在,所有的考试成绩有一个字母等级,算多少学生获得了较高的信上档次的第二个测试比第一次测试。

总和(字母(:,2)>信(:,1))
ANS = 32

三十名学生改善了前两个考试之间的字母等级。

探索类别。

张数A +分数在每个五次考试的。

总和(信=='A +'
ANS = 0 0 0 0 0

有没有A +分数在其中任一次考试。

下降的类别。

下降的类别A +从定序变量,

信= droplevels(字母,'A +');getlevels(信)
ANS = D- d C B A
类别A +不再在序变量,

也可以看看

||

相关的例子

更多关于