表格频率与自定义列

时间:2015-07-23 14:32:18

标签: r

例如,我有一个矩阵:

a <- c(2,3,4,3,3,2,2)
table(a)

输出:

2 3 4 
3 3 1 

但我想要的输出是:

1 2 3 4 
0 3 3 1 

所以从示例中,实际上值范围是1到4 .... 由于随机值,列表可能不包含范围中的一个或多个元素 当值范围为1到4时,我希望表中有4个coloumns,其中不存在的值由零填充(0)

1 个答案:

答案 0 :(得分:4)

您可以在执行levels之前将'a'转换为'factor'并指定table

table(factor(a, levels=seq_len(max(a))))
#1 2 3 4 
#0 3 3 1 

如果您需要也应指定自定义level。使用评论中的示例

a<- c(2,3,3,3,2,2)
table(factor(a, levels=1:4))
#1 2 3 4 
#0 3 3 0