假设我有两个向量
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
答案 0 :(得分:2)
首先,生成两个向量中要获取的值的列表
lvl<-unique(c(x,y))
然后在执行表
之前明确地将这些值列为因子的级别table(factor(x, lvl))
table(factor(y, lvl))
答案 1 :(得分:0)
table(factor(x,unique(union(x,y))))
table(factor(y,unique(union(x,y))))