鉴于此样本数据:
x = 1:12; names(x) = LETTERS[1:length(x)]
y = c('A','C','E','F','J','E','K','L','E','L','F','A','E')
Run Code Online (Sandbox Code Playgroud)
当我这样做时,table(y)我得到:
A C E F J K L
2 1 4 2 1 1 2
Run Code Online (Sandbox Code Playgroud)
如何扩展它以包含所有其他列标题的零条目x?换句话说,我所追求的输出是:
A C E F J K L B D G H I
2 1 4 2 1 1 2 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
(如图所示未分类,或排序,我不介意.)
flo*_*del 10
使用因素:
table(factor(y, levels = names(x)))
# A B C D E F G H I J K L
# 2 0 1 0 4 2 0 0 0 1 1 2
Run Code Online (Sandbox Code Playgroud)
我想不出用这种方法来做到这一点table,但它是一个非常简单的单线程,无论如何:
sapply(names(x), function(name) {sum(y == name)})
Run Code Online (Sandbox Code Playgroud)
输出:
A B C D E F G H I J K L
2 0 1 0 4 2 0 0 0 1 1 2
Run Code Online (Sandbox Code Playgroud)