该示例示出了如何从名义或有序阵列添加和下降的水平。
该公称
和序数词
不推荐组数据类型。代表有序和无序的离散,非数值数据,使用分类数组(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 +
不再在序变量,信
。