如何计算 R 中具有特定值的条目

How to count entries with specific values in R

假设我有两个向量

x <- c(1, 2, 2, 3, 4, 4, 5, 5, 5) 
y <- c(3, 3, 3, 4, 5, 6, 6, 7, 7)

这些向量中所有数字中唯一的数字是1:7。我知道如果我在 R 中使用 table 函数,我可以计算每个向量中唯一条目的数量。例如,如果我将 table 函数应用于第一个向量,我将得到

table(x)
#x
# 1 2 3 4 5 
# 1 2 1 2 3 

将其应用于第二个向量,我将得到

table(y)
# y
# 3 4 5 6 7 
# 3 1 1 2 2 

如何让它计算两个向量中所有唯一条目的出现次数?例如,我想产生以下结果:

1 2 3 4 5 6 7
1 2 1 2 3 0 0

第一个向量和

1 2 3 4 5 6 7
0 0 3 1 1 2 2

首先,生成要在两个向量中计数的值的列表

lvl<-unique(c(x,y))

然后在执行 table

之前明确列出这些值作为因素的水平
table(factor(x, lvl))
table(factor(y, lvl))

table(因子(x, unique(union(x,y))))

table(因子(y, unique(union(x,y))))