如果缺少因子级别,您可以按以下方式使用表格:
marks <- c(1,5,3,4,5,6)
table(ordered(marks,levels=1:6))
将返回以零频率列出的级别为“2”的表。
如果有一组与“标记”相关联的“分数”并且没有丢失级别(此处为2),则tapply
可用于生成每个级别的分数总和。
tapply(scores,marks,sum)
可以适应“缺失”因素水平的情况吗?或者,还有更好的方法?
答案 0 :(得分:1)
这里的想法是模拟表函数行为。
首先,我生成一个得分矢量, 得分&lt; - 样本(1:6)
然后分2步:
在missng值上获得NA分数。这里我使用sum函数,如表函数,但我们可以使用任何自定义函数(max,min,..)
res <- tapply( scores , ordered(marks,levels=1:6),function(x) {sum(x)} )
然后只需替换缺失值
res[is.na(res)] <- 0