计算另一个向量中一个向量值的出现次数,包括R中的非匹配值

bin*_*ing 3 r vector match

我有2个向量:

v1 <- c(1, 2, 3, 4, 1, 3, 5, 6, 4)
v2 <- c(1, 2, 3, 4, 5, 6, 7)
Run Code Online (Sandbox Code Playgroud)

我想计算v2中v1值的出现次数.预期的结果是:

1 2 3 4 5 6 7
2 1 2 2 1 1 0
Run Code Online (Sandbox Code Playgroud)

我知道有一个功能可以做到这一点:

table(v1[v1 %in% v2])
Run Code Online (Sandbox Code Playgroud)

但是,它仅列出匹配的值:

1 2 3 4 5 6 
2 1 2 2 1 1 
Run Code Online (Sandbox Code Playgroud)

如何在v2中显示所有值?

luk*_*keA 10

你可以做

table(factor(v1, levels=unique(v2)))
# 1 2 3 4 5 6 7 
# 2 1 2 2 1 1 0 
Run Code Online (Sandbox Code Playgroud)