这个例子展示了如何添加和删除从名义水平或顺序数组。
请注意
的名义上的
和序数
数组数据类型是不推荐的。代表有序和无序的离散、非数字数据使用分类数组数据类型。
负载(“examgrades”)
数组成绩
包含考试分数从0到100 5考试一个样本的120名学生。
信分数分配给每个学生使用这些类别为每个测试。
等级范围 | 信等级 |
---|---|
One hundred. | + |
90 - 99 | 一个 |
80 - 89 | B |
70 - 79 | C |
60 - 69 | D |
信=序数(成绩,{' D ',“C”,“B”,“一个”,“+”[]},…(60、70、80、90100100));getlevels(信)
ans = D C B +
有五个等级类别,按照指定的顺序D
<C
<B
<一个
<+
。
检查是否有任何考试分数不落入五字母类别。
任何(isundefined(信))
ans = 1 0 1 1 0
回想一下,有五个考试分数为每个学生。前面的命令返回一个逻辑值为每个5考试,说明是否有任何分数<定义>
。有成绩第一、第三和第四的考试<定义>
,缺少一个类别的水平。
你可以找到考试成绩没有一封信年级使用isundefined
逻辑条件。
成绩(isundefined(信)
ans = 55 59 58 59 54 57 56 59 59五十59 52
50年代的考试成绩年级没有一封信。
把所有分数<定义>
到一个新的类别标记D -
。
信= addlevels(信,“D -”);信(isundefined(信))=“D -”;getlevels(信)
ans = D C B + D -
信
,有一个新的类别添加到结束。
重新排序,这样的类别D -
<D
。
信= reorderlevels(信,{“D -”,' D ',“C”,“B”,“一个”,“+”});getlevels(信)
ans = D - D C B +
现在所有的考试成绩有一个字母等级,算上收到更高的信多少学生年级第二个测试比第一个测试。
和信(信(:,2)> (:1))
ans = 32
32学生改善他们的信等级考试前两个之间。
数的数量+
在每个五考试分数。
(信= =“+”)
ans = 0 0 0 0 0
没有+
5考试分数的。
下降的类别+
从序数变量,信
。
信= droplevels(信,“+”);getlevels(信)
ans = D - D C B
+
不再在序数变量,信
。