想象你有一个向量x
:
x <- c("C", "A", "B", "B", "A", "D", "B", "B", "A", "A", "A", "A", "A", "D", "C", "A", "C", "A", "A", "C", "A", "A", "D", "A", "D", "A", "D", "A", "A", "D", "D", "B", "B", "A", "A", "C", "A", "A", "B", "B", "B", "B", "B", "B", "B", "A", "C", "A", "C", "B")
您可以使用以下方法制作表格:
table(x)
# x
# A B C D
# 22 14 7 7
如果您只希望表包含某些值(例如“A”和“B”),或者您希望表包含可能不存在的值,该怎么办?x
?
这是我的尝试:
tab_specific_values <- function(vector, values) `names<-`(rowSums(outer(values, vector, `==`)), values)
例如:
tab_specific_values(vector = x, values = c('A', 'B'))
# A B
# 22 14
或者如果我们指定一个不存在的值x
tab_specific_values(vector = x, values = c('A', 'B', 'E'))
# A B E
# 22 14 0
是否有现有的专用功能可以执行此操作,或者您有更好的方法吗?我怀疑我的功能tab_specific_values
可能不是最好的方法。